summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTanu Kaskinen <tanuk@iki.fi>2009-08-16 21:25:48 +0300
committerTanu Kaskinen <tanuk@iki.fi>2009-08-16 21:25:48 +0300
commitbcaba0b1b43d6a1b32aadfa98860f40b2c93e136 (patch)
tree6bd0d60a8fa822bfd688b90d062d0f73eee2e47e
parent2bb3eef414f80189cf6af6cd66c519630e4c0a43 (diff)
parent01e4b61a910afdd21f860fadbe98075735c2bf51 (diff)
Merge branch 'master' of git://0pointer.de/pulseaudio into dbus-work
Conflicts: src/Makefile.am src/daemon/daemon-conf.c src/daemon/daemon.conf.in src/modules/module-stream-restore.c src/pulse/client-conf.c src/pulsecore/namereg.c
-rw-r--r--Makefile.am2
-rwxr-xr-xbootstrap.sh17
-rw-r--r--configure.ac126
-rw-r--r--man/pulse-client.conf.5.xml.in4
-rw-r--r--man/pulse-daemon.conf.5.xml.in63
-rw-r--r--po/POTFILES.in4
-rw-r--r--po/as.po760
-rw-r--r--po/bn_IN.po764
-rw-r--r--po/ca.po920
-rw-r--r--po/cs.po853
-rw-r--r--po/de.po799
-rw-r--r--po/de_CH.po767
-rw-r--r--po/el.po538
-rw-r--r--po/es.po1348
-rw-r--r--po/fi.po768
-rw-r--r--po/fr.po782
-rw-r--r--po/gu.po757
-rw-r--r--po/hi.po751
-rw-r--r--po/it.po774
-rw-r--r--po/kn.po767
-rw-r--r--po/mr.po754
-rw-r--r--po/nl.po734
-rw-r--r--po/or.po751
-rw-r--r--po/pa.po751
-rw-r--r--po/pl.po767
-rw-r--r--po/pt.po834
-rw-r--r--po/pt_BR.po1584
-rw-r--r--po/sr.po775
-rw-r--r--po/sr@latin.po777
-rw-r--r--po/sv.po634
-rw-r--r--po/ta.po770
-rw-r--r--po/te.po748
-rw-r--r--po/uk.po767
-rw-r--r--po/zh_CN.po745
-rw-r--r--src/Makefile.am35
-rw-r--r--src/daemon/caps.c15
-rw-r--r--src/daemon/daemon-conf.c18
-rw-r--r--src/daemon/daemon.conf.in12
-rw-r--r--src/daemon/main.c21
-rw-r--r--src/daemon/pulseaudio-system.conf37
-rw-r--r--src/map-file2
-rw-r--r--src/modules/alsa/alsa-mixer.c8
-rw-r--r--src/modules/alsa/alsa-sink.c42
-rw-r--r--src/modules/alsa/alsa-source.c33
-rw-r--r--src/modules/alsa/alsa-util.c55
l---------src/modules/alsa/mixer/Makefile1
l---------src/modules/alsa/mixer/paths/Makefile1
-rw-r--r--src/modules/alsa/mixer/paths/analog-output-headphones.conf4
-rw-r--r--src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf6
-rw-r--r--src/modules/alsa/mixer/paths/analog-output-mono.conf6
-rw-r--r--src/modules/alsa/mixer/paths/analog-output.conf6
-rw-r--r--src/modules/alsa/mixer/paths/analog-output.conf.common4
l---------src/modules/alsa/mixer/profile-sets/Makefile1
-rw-r--r--src/modules/bluetooth/bluetooth-util.c91
-rw-r--r--src/modules/bluetooth/bluetooth-util.h3
-rw-r--r--src/modules/bluetooth/module-bluetooth-device.c49
-rw-r--r--src/modules/module-combine.c552
-rw-r--r--src/modules/module-detect.c4
-rw-r--r--src/modules/module-hal-detect-compat.c84
-rw-r--r--src/modules/module-hal-detect.c35
-rw-r--r--src/modules/module-intended-roles.c54
-rw-r--r--src/modules/module-ladspa-sink.c143
-rw-r--r--src/modules/module-pipe-sink.c6
-rw-r--r--src/modules/module-pipe-source.c2
-rw-r--r--src/modules/module-remap-sink.c140
-rw-r--r--src/modules/module-rescue-streams.c179
-rw-r--r--src/modules/module-stream-restore.c142
-rw-r--r--src/modules/module-tunnel.c30
-rw-r--r--src/modules/module-udev-detect.c44
-rw-r--r--src/modules/module-volume-restore.c9
-rw-r--r--src/modules/reserve-monitor.c12
-rw-r--r--src/modules/reserve-monitor.h10
-rw-r--r--src/modules/reserve-wrap.c4
-rw-r--r--src/modules/reserve.c2
-rw-r--r--src/modules/reserve.h10
-rw-r--r--src/modules/rtp/module-rtp-recv.c2
-rw-r--r--src/pulse/client-conf.c23
-rw-r--r--src/pulse/client.conf.in2
-rw-r--r--src/pulse/context.c76
-rw-r--r--src/pulse/internal.h5
-rw-r--r--src/pulse/introspect.c132
-rw-r--r--src/pulse/mainloop.c13
-rw-r--r--src/pulse/operation.h6
-rw-r--r--src/pulse/simple.c63
-rw-r--r--src/pulse/stream.c162
-rw-r--r--src/pulse/stream.h85
-rw-r--r--src/pulse/thread-mainloop.c13
-rw-r--r--src/pulse/thread-mainloop.h18
-rw-r--r--src/pulse/volume.c5
-rw-r--r--src/pulsecore/asyncmsgq.c46
-rw-r--r--src/pulsecore/asyncmsgq.h4
-rw-r--r--src/pulsecore/aupdate.c8
-rw-r--r--src/pulsecore/aupdate.h4
-rw-r--r--src/pulsecore/authkey.c37
-rw-r--r--src/pulsecore/cli-text.c14
-rw-r--r--src/pulsecore/conf-parser.c24
-rw-r--r--src/pulsecore/conf-parser.h1
-rw-r--r--src/pulsecore/core-scache.c5
-rw-r--r--src/pulsecore/core-util.c119
-rw-r--r--src/pulsecore/core-util.h7
-rw-r--r--src/pulsecore/database-simple.c510
-rw-r--r--src/pulsecore/dbus-util.c2
-rw-r--r--src/pulsecore/hook-list.c2
-rw-r--r--src/pulsecore/lock-autospawn.c66
-rw-r--r--src/pulsecore/memblock.c54
-rw-r--r--src/pulsecore/memblockq.c6
-rw-r--r--src/pulsecore/memblockq.h3
-rw-r--r--src/pulsecore/memtrap.c22
-rw-r--r--src/pulsecore/namereg.c70
-rw-r--r--src/pulsecore/proplist-util.c6
-rw-r--r--src/pulsecore/protocol-native.c43
-rw-r--r--src/pulsecore/resampler.c8
-rw-r--r--src/pulsecore/shm.c3
-rw-r--r--src/pulsecore/sink-input.c99
-rw-r--r--src/pulsecore/sink-input.h20
-rw-r--r--src/pulsecore/sink.c284
-rw-r--r--src/pulsecore/sink.h34
-rw-r--r--src/pulsecore/source-output.c69
-rw-r--r--src/pulsecore/source-output.h17
-rw-r--r--src/pulsecore/source.c231
-rw-r--r--src/pulsecore/source.h27
-rw-r--r--src/pulsecore/start-child.c15
-rw-r--r--src/pulsecore/thread-mq.c11
-rw-r--r--src/pulsecore/thread-mq.h8
-rw-r--r--src/pulsecore/time-smoother.c41
-rw-r--r--src/pulsecore/time-smoother.h2
-rw-r--r--src/tests/get-binary-name-test.c25
-rw-r--r--src/tests/interpol-test.c81
-rw-r--r--src/tests/mix-test.c78
-rw-r--r--src/tests/rtstutter.c4
-rw-r--r--src/tests/voltest.c36
-rw-r--r--src/utils/pacat.c126
-rw-r--r--src/utils/pacmd.c62
-rw-r--r--src/utils/padsp.c8
134 files changed, 15039 insertions, 12775 deletions
diff --git a/Makefile.am b/Makefile.am
index 4d45a07d..5967f2ce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,7 +17,7 @@
ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = bootstrap.sh LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in README todo
+EXTRA_DIST = bootstrap.sh git-version-gen LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in README todo
SUBDIRS = src doxygen man po
MAINTAINERCLEANFILES =
diff --git a/bootstrap.sh b/bootstrap.sh
index d5025db6..970e884e 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -40,10 +40,21 @@ run_versioned() {
set -ex
+case $(uname) in
+ *Darwin*)
+ LIBTOOLIZE="glibtoolize"
+ ;;
+esac
+
if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then
echo "Activating pre-commit hook."
- cp -av .git/hooks/pre-commit.sample .git/hooks/pre-commit
- chmod -c +x .git/hooks/pre-commit
+ cp -pv .git/hooks/pre-commit.sample .git/hooks/pre-commit
+ chmod -v +x .git/hooks/pre-commit
+fi
+
+if [ -f .tarball-version ]; then
+ echo "Marking tarball version as modified."
+ echo -n `cat .tarball-version | sed 's/-rebootstrapped$//'`-rebootstrapped >.tarball-version
fi
# We check for this here, because if pkg-config is not found in the
@@ -83,7 +94,7 @@ else
run_versioned automake "$VERSION" --copy --foreign --add-missing
if test "x$NOCONFIGURE" = "x"; then
- CFLAGS="-g -O0" ./configure --sysconfdir=/etc --localstatedir=/var --enable-force-preopen "$@"
+ CFLAGS="$CFLAGS -g -O0" ./configure --sysconfdir=/etc --localstatedir=/var --enable-force-preopen "$@"
make clean
fi
fi
diff --git a/configure.ac b/configure.ac
index 7e83a9c9..735b406f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,11 +44,11 @@ AC_SUBST(PA_PROTOCOL_VERSION, 16)
# The stable ABI for client applications, for the version info x:y:z
# always will hold y=z
-AC_SUBST(LIBPULSE_VERSION_INFO, [8:0:8])
+AC_SUBST(LIBPULSE_VERSION_INFO, [9:0:9])
# A simplified, synchronous, ABI-stable interface for client
# applications, for the version info x:y:z always will hold y=z
-AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:2:0])
+AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
# The ABI-stable network browsing interface for client applications,
# for the version info x:y:z always will hold y=z
@@ -73,6 +73,10 @@ case $host in
AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris)
AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
;;
+ *-*-darwin* )
+ AC_DEFINE([_POSIX_C_SOURCE], [200112L], [Needed to get clock_gettime on Mac OS X])
+ AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
+ ;;
esac
AM_SILENT_RULES([yes])
@@ -112,6 +116,21 @@ CC_CHECK_LDFLAGS([${tmp_ldflag}],
[VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
AC_SUBST([VERSIONING_LDFLAGS])
+dnl Use immediate (now) bindings; avoids the funky re-call in itself
+dnl the -z now syntax is lifted from Sun's linker and works with GNU's too
+dnl other linkes might be added later
+CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
+AC_SUBST([IMMEDIATE_LDFLAGS])
+
+dnl On ELF systems we don't want the libraries to be unloaded since we
+dnl don't clean them up properly, so we request the nodelete flag to be
+dnl enabled.
+dnl
+dnl On other systems, we don't really know how to do that, but it's
+dnl welcome if somebody can tell.
+CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"])
+AC_SUBST([NODELETE_LDFLAGS])
+
dnl Check for the proper way to build libraries that have no undefined
dnl symbols; on some hosts this needs to be avoided but the macro
dnl takes care of it.
@@ -387,6 +406,7 @@ AC_SEARCH_LIBS([timer_create], [rt])
# BSD
AC_SEARCH_LIBS([connect], [socket])
+AC_SEARCH_LIBS([backtrace], [execinfo])
# Non-standard
@@ -605,10 +625,11 @@ AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
HAVE_TDB=0
HAVE_GDBM=0
+HAVE_SIMPLEDB=0
AC_ARG_WITH(
[database],
- AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
+ AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
PKG_CHECK_MODULES(TDB, [ tdb ],
@@ -638,7 +659,12 @@ if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
fi
fi
-if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
+if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then
+ HAVE_SIMPLEDB=1
+ with_database=simple
+fi
+
+if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then
AC_MSG_ERROR([*** missing database backend])
fi
@@ -650,6 +676,10 @@ if test "x${HAVE_GDBM}" = x1 ; then
AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
fi
+if test "x${HAVE_SIMPLEDB}" = x1 ; then
+ AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])
+fi
+
AC_SUBST(TDB_CFLAGS)
AC_SUBST(TDB_LIBS)
AC_SUBST(HAVE_TDB)
@@ -660,28 +690,47 @@ AC_SUBST(GDBM_LIBS)
AC_SUBST(HAVE_GDBM)
AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
+AC_SUBST(HAVE_SIMPLEDB)
+AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
+
#### OSS support (optional) ####
-AC_ARG_ENABLE([oss],
- AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
+AC_ARG_ENABLE([oss-output],
+ AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
+ [
+ case "${enableval}" in
+ yes) oss_output=yes ;;
+ no) oss_output=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
+ esac
+ ],
+ [oss_output=auto])
+
+AC_ARG_ENABLE([oss-wrapper],
+ AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
[
case "${enableval}" in
- yes) oss=yes ;;
- no) oss=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
+ yes) oss_wrapper=yes ;;
+ no) oss_wrapper=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
esac
],
- [oss=auto])
+ [oss_wrapper=auto])
-if test "x${oss}" != xno ; then
+if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
AC_CHECK_HEADERS([sys/soundcard.h],
[
+ if test "x${oss_output}" != "xno"; then
+ AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
+ fi
+ if test "x${oss_wrapper}" != "xno"; then
+ AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
+ fi
HAVE_OSS=1
- AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
],
[
HAVE_OSS=0
- if test "x$oss" = xyes ; then
+ if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
AC_MSG_ERROR([*** OSS support not found])
fi
])
@@ -690,8 +739,8 @@ else
fi
AC_SUBST(HAVE_OSS)
-AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
-
+AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
+AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
#### ALSA support (optional) ####
@@ -1079,7 +1128,27 @@ AC_SUBST(UDEV_LIBS)
AC_SUBST(HAVE_UDEV)
AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
-AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
+#### HAL compat support (optional) ####
+
+AC_ARG_ENABLE([hal-compat],
+ AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]),
+ [
+ case "${enableval}" in
+ yes) halcompat=yes ;;
+ no) halcompat=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;;
+ esac
+ ],
+ [halcompat=auto])
+if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then
+ HAVE_HAL_COMPAT=1
+ AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.])
+else
+ HAVE_HAL_COMPAT=0
+fi
+
+AC_SUBST(HAVE_HAL_COMPAT)
+AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
#### BlueZ support (optional) ####
@@ -1338,9 +1407,15 @@ if test "x$HAVE_X11" = "x1" ; then
ENABLE_X11=yes
fi
-ENABLE_OSS=no
+ENABLE_OSS_OUTPUT=no
+ENABLE_OSS_WRAPPER=no
if test "x$HAVE_OSS" = "x1" ; then
- ENABLE_OSS=yes
+ if test "x$enable_oss_output" != "xno"; then
+ ENABLE_OSS_OUTPUT=yes
+ fi
+ if test "x$enable_oss_wrapper" != "xno"; then
+ ENABLE_OSS_WRAPPER=yes
+ fi
fi
ENABLE_ALSA=no
@@ -1398,6 +1473,11 @@ if test "x$HAVE_UDEV" = "x1" ; then
ENABLE_UDEV=yes
fi
+ENABLE_HAL_COMPAT=no
+if test "x$HAVE_HAL_COMPAT" = "x1" ; then
+ ENABLE_HAL_COMPAT=yes
+fi
+
ENABLE_TCPWRAP=no
if test "x${LIBWRAP_LIBS}" != x ; then
ENABLE_TCPWRAP=yes
@@ -1423,6 +1503,11 @@ if test "x${HAVE_TDB}" = "x1" ; then
ENABLE_TDB=yes
fi
+ENABLE_SIMPLEDB=no
+if test "x${HAVE_SIMPLEDB}" = "x1" ; then
+ ENABLE_SIMPLEDB=yes
+fi
+
ENABLE_OPENSSL=no
if test "x${HAVE_OPENSSL}" = "x1" ; then
ENABLE_OPENSSL=yes
@@ -1451,7 +1536,8 @@ echo "
CFLAGS: ${CFLAGS}
Have X11: ${ENABLE_X11}
- Enable OSS: ${ENABLE_OSS}
+ Enable OSS Output: ${ENABLE_OSS_OUTPUT}
+ Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
Enable Alsa: ${ENABLE_ALSA}
Enable Solaris: ${ENABLE_SOLARIS}
Enable GLib 2.0: ${ENABLE_GLIB20}
@@ -1463,6 +1549,7 @@ echo "
Enable LIRC: ${ENABLE_LIRC}
Enable HAL: ${ENABLE_HAL}
Enable udev: ${ENABLE_UDEV}
+ Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
Enable BlueZ: ${ENABLE_BLUEZ}
Enable TCP Wrappers: ${ENABLE_TCPWRAP}
Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
@@ -1470,6 +1557,7 @@ echo "
Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
Enable tdb: ${ENABLE_TDB}
Enable gdbm: ${ENABLE_GDBM}
+ Enable simple database: ${ENABLE_SIMPLEDB}
System User: ${PA_SYSTEM_USER}
System Group: ${PA_SYSTEM_GROUP}
diff --git a/man/pulse-client.conf.5.xml.in b/man/pulse-client.conf.5.xml.in
index 26e38908..46cc8450 100644
--- a/man/pulse-client.conf.5.xml.in
+++ b/man/pulse-client.conf.5.xml.in
@@ -92,9 +92,9 @@ USA.
</option>
<option>
- <p><opt>disable-shm=</opt> Disable data transfer via POSIX
+ <p><opt>enable-shm=</opt> Enable data transfer via POSIX
shared memory. Takes a boolean argument, defaults to
- <opt>no</opt>.</p>
+ <opt>yes</opt>.</p>
</option>
<option>
diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in
index 68bcb77f..82c2b8e5 100644
--- a/man/pulse-daemon.conf.5.xml.in
+++ b/man/pulse-daemon.conf.5.xml.in
@@ -65,20 +65,21 @@ USA.
</option>
<option>
- <p><opt>disallow-module-loading=</opt> Disallow module loading
- after startup. This is a security feature that makes sure that
- no further modules may be loaded into the PulseAudio server
- after startup completed. It is recommended to enable 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>no</opt>. The <opt>--disallow-module-loading</opt> command line
- option takes precedence.</p>
+ <p><opt>allow-module-loading=</opt> Allow/disallow module
+ loading after startup. This is a security feature that if
+ dsabled 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>disallow-exit=</opt> Disallow exit on user
- request. Defaults to <opt>no</opt>.</p>
+ <p><opt>allow-exit=</opt> Allow/disallow exit on user
+ request. Defaults to <opt>yes</opt>.</p>
</option>
<option>
@@ -105,19 +106,19 @@ USA.
</option>
<option>
- <p><opt>disable-remixing=</opt> Never upmix or downmix channels
- to different channel maps. Instead, do a simple name-based
- matching only.</p>
+ <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></p>
</option>
<option>
- <p><opt>disable-lfe-remixing=</opt> When upmixing or downmixing
- ignore LFE channels. When this option is on the output LFE
- channel will only get a signal when an input LFE channel is
- available as well. If no input LFE channel is available the
- output LFE channel will always be 0. If no output LFE channel is
- available the signal on the input LFE channel will be
- ignored. Defaults to "on".</p>
+ <p><opt>enable-lfe-remixing=</opt> if disabeld when upmixing or
+ downmixing ignore LFE channels. When this option is dsabled the
+ output LFE channel will only get a signal when an input LFE
+ channel is available as well. If no input LFE channel is
+ available the output LFE channel will always be 0. If no output
+ LFE channel is available the signal on the input LFE channel
+ will be ignored. Defaults to <opt>no</opt>.</p>
</option>
<option>
@@ -132,12 +133,12 @@ USA.
</option>
<option>
- <p><opt>no-cpu-limit=</opt> 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>
+ <p><opt>cpu-limit=</opt> If disabled d 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>yes</opt>. The <opt>--no-cpu-limit</opt> command line
+ argument takes precedence.</p>
</option>
<option>
@@ -148,9 +149,9 @@ USA.
</option>
<option>
- <p><opt>disable-shm=</opt> Disable data transfer via POSIX
+ <p><opt>enable-shm=</opt> Enable data transfer via POSIX
shared memory. Takes a boolean argument, defaults to
- <opt>no</opt>. The <opt>--disable-shm</opt> command line
+ <opt>yes</opt>. The <opt>--disable-shm</opt> command line
argument takes precedence.</p>
</option>
@@ -204,7 +205,7 @@ USA.
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 "no". The
+ information. Takes a boolean argument, defaults to "yes". The
<opt>--realtime</opt> command line option takes precedence.</p>
</option>
@@ -230,7 +231,7 @@ USA.
<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 -1. The
+ disable this feature. Defaults to 20. The
<opt>--exit-idle-time</opt> command line option takes
precedence.</p>
</option>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 534feb15..a6172442 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -55,7 +55,6 @@ src/pulsecore/queue.c
src/pulsecore/core.c
#src/pulsecore/shmasyncq.c
src/pulsecore/x11wrap.c
-src/pulsecore/rtclock.c
src/pulsecore/ioline.c
src/pulsecore/asyncq.c
src/pulsecore/mutex-posix.c
@@ -99,7 +98,6 @@ src/pulsecore/strlist.c
src/pulsecore/msgobject.c
src/pulsecore/mutex-win32.c
src/pulsecore/dynarray.c
-src/pulsecore/rtsig.c
src/pulsecore/once.c
src/pulsecore/source.c
src/pulsecore/memchunk.c
@@ -149,14 +147,12 @@ src/pulsecore/protocol-http.c
src/pulsecore/semaphore-win32.c
src/daemon/cpulimit.c
src/daemon/ltdl-bind-now.c
-src/daemon/polkit.c
src/daemon/main.c
src/daemon/cmdline.c
src/daemon/dumpmodules.c
src/daemon/daemon-conf.c
src/daemon/caps.c
src/daemon/pulseaudio.desktop.in
-src/daemon/org.pulseaudio.policy.in
src/pulse/channelmap.c
src/pulse/error.c
src/pulse/proplist.c
diff --git a/po/as.po b/po/as.po
index b2468a43..e972d827 100644
--- a/po/as.po
+++ b/po/as.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx.pulseaudio.as\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-08 12:35+0530\n"
"Last-Translator: Amitakhya Phukan <aphukan@fedoraproject.org>\n"
"Language-Team: Assamese <fedora-trans-as@redhat.com>\n"
@@ -16,7 +16,12 @@ msgstr ""
"X-Generator: Lokalize 0.3\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -28,7 +33,7 @@ msgstr ""
"অতি সমà§à¦­à§± à¦à¦‡à¦Ÿà§‹ ALSA চালক '%s' ৰ à¦à¦Ÿà¦¾ বাগ । অনà§à¦—à§à§°à¦¹ কৰি à¦à¦‡ সমসà§à¦¯à¦¾ ALSA বিকাশকক "
"জনাওক ।"
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -40,7 +45,7 @@ msgstr ""
"অতি সমà§à¦­à§± à¦à¦‡à¦Ÿà§‹ ALSA চালক '%s' ৰ à¦à¦Ÿà¦¾ বাগ । অনà§à¦—à§à§°à¦¹ কৰি à¦à¦‡ সমসà§à¦¯à¦¾ ALSA বিকাশকক "
"জনাওক ।"
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -65,7 +70,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "আভà§à¦¯à¦¨à§à¦¤à§°à§€à¦£ অ'ডিঅ'"
@@ -85,371 +90,243 @@ msgstr "নতà§à¦¨ dl loader বিতৰণ কৰিবলৈ বিফল à
msgid "Failed to add bind-now-loader."
msgstr "bind-now-loader যোগ কৰিবলৈ বিফল ।"
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° bus লৈ সংযোগ কৰিব পৰা ন'গ'ল: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID ৰ পৰা caller পোৱা ন'গ'ল: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "caller বসà§à¦¤à§à¦¤ UID নিৰà§à¦§à¦¾à§°à¦£ কৰিব পৰা ন'গ'ল ।"
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK অধিবেশন পাবলৈ বিফল ।"
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "অধিবেশনৰ বসà§à¦¤à§à¦¤ UID নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি ।"
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction বিতৰণ কৰিব নোৱাৰি ।"
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি ।"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext বিতৰণ কৰিব নোৱাৰি ।"
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext আৰমà§à¦­ কৰিব নোৱাৰি: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "caller ৰ অনà§à¦®à¦¤à¦¿ আছে নে নাই নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "auth পাব নোৱাৰি: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit ঠ'%s' উতà§à¦¤à§° দিলে"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "চিগà§à¦¨à§‡à¦² %s পোৱা গ'ল ।"
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "পà§à§°à¦¸à§à¦¥à¦¾à¦¨ কৰা হৈছে ।"
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ '%s' পোৱা ন'গ'ল ।"
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "'%s' সমষà§à¦Ÿà¦¿ পোৱা ন'গ'ল ।"
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ '%s' (UID %lu) আৰৠসমষà§à¦Ÿà¦¿ '%s' (GID %lu) পোৱা গ'ল ।"
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ '%s' আৰৠসমষà§à¦Ÿà¦¿ '%s' ৰ GID অমিল ।"
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ '%s' ৰ ঘৰৰ পঞà§à¦œà¦¿à¦•à¦¾ '%s' নহয়, আওকাণ কৰা হৈছে ।"
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' সৃষà§à¦Ÿà¦¿ কৰিবলৈ বিফল: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "সমষà§à¦Ÿà¦¿à§° তালিকা সলনি কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID সলনি কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID সলনি কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "ৰূটৰ অধিকাৰ সফলভাবে à¦à§°à§‹à§±à¦¾ গ'ল ।"
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "à¦à¦‡ সà§à¦¥à¦¾à¦ªà¦¤à§à¦¯à¦¤ পà§à§°à¦£à¦¾à¦²à§€ বà§à¦¯à¦¾à¦ªà¦• মোড অসমৰà§à¦¥à¦¿à¦¤ ।"
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) বিফল: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "আদেশ শাৰী বিশà§à¦²à§‡à¦·à¦£ কৰিবলৈ বিফল ।"
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "আমি '%s' সমষà§à¦Ÿà¦¿à¦¤, য'ত high-priority scheduling ৰ অনà§à¦®à¦¤à¦¿ আছে ।"
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "আমি '%s' সমষà§à¦Ÿà¦¿à¦¤, য'ত real-time scheduling ৰ অনà§à¦®à¦¤à¦¿ আছে ।"
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit ঠআমাক acquire-high-priority অধিকাৰ দিয়ে ।"
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit ঠacquire-high-priority অধিকাৰ নিদিয়ে ।"
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit ঠআমাক acquire-real-time অধিকাৰ দিয়ে ।"
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit ঠacquire-real-time অধিকাৰ নিদিয়ে ।"
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"বিনà§à¦¯à¦¾à¦¸ দà§à¦¬à¦¾à§°à¦¾ high-priority scheduling ৰ সকà§à§°à¦¿à§Ÿ হ'লেও নিয়মনীতি দà§à¦¬à¦¾à§°à¦¾ সেইটো "
-"অনà§à¦®à§‹à¦¦à¦¿à¦¤ নহয় ।"
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO সফলতাৰে বৃদà§à¦§à¦¿ কৰা হৈছে"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO বিফল: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE বৰà§à¦œà¦¨ কৰা হৈছে"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"বিনà§à¦¯à¦¾à¦¸ দà§à¦¬à¦¾à§°à¦¾ real-time scheduling ৰ সকà§à§°à¦¿à§Ÿ হ'লেও নিয়মনীতি দà§à¦¬à¦¾à§°à¦¾ সেইটো অনà§à¦®à§‹à¦¦à¦¿à¦¤ "
-"নহয় ।"
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "ডেমন নাই চলা"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "PID %u ৰূপে ডেমন চলিছে"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "ডেমন kill কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr ""
"root পৰিচয়ে à¦à¦‡ পà§à§°à§‹à¦—à§à§°à¦¾à¦® সঞà§à¦šà¦¾à¦²à¦¿à¦¤ হোৱা উচিত নহয় (ন'হ'লে --system উলà§à¦²à¦¿à¦–িত হয়) ।"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Root-ৰ অধিকাৰ আৱশà§à¦¯à¦• ।"
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "পà§à§°à¦£à¦¾à¦²à§€ চানেকিৰ কà§à¦·à§‡à¦¤à§à§°à¦¤ --start সমৰà§à¦¥à¦¿à¦¤ নহয় ।"
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে, কিনà§à¦¤à§ --disallow-exit নিৰà§à¦§à¦¾à§°à¦¿à¦¤ নহয়!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে, কিনà§à¦¤à§ --disallow-module-loading নিৰà§à¦§à¦¾à§°à¦¿à¦¤ নহয়!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে, SHM মোড বলপূৰà§à¦¬à¦• নিষà§à¦•à§à§°à¦¿à§Ÿ কৰা হৈছে!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে, কাম নকৰা সময়ৰ পৰা পà§à§°à¦¸à§à¦¥à¦¾à¦¨ কৰা বলপূৰà§à¦¬à¦• নিষà§à¦•à§à§°à¦¿à§Ÿ কৰা হৈছে!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥ ।"
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe বিফল: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() বিফল: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() বিফল: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "ডেমন আৰমà§à¦­ কৰিবলৈ বিফল ।"
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "সফলতাৰে ডেমন আৰমà§à¦­ কৰা হৈছে ।"
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "à¦à¦‡à¦Ÿà§‹ PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "সঙà§à¦•à¦²à¦¨à§° গৃহসà§à¦¥: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "সঙà§à¦•à¦²à¦¨à§° CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "গৃহসà§à¦¥à¦¤ চলোৱা হৈছে: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPU পোৱা গৈছে ।"
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "পেজৰ মাপ %lu bytes"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Valgrind সমৰà§à¦¥à¦¨à§° সৈতে সঙà§à¦•à¦²à¦¨ কৰা হৈছে: হয়"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Valgrind সমৰà§à¦¥à¦¨à§° সৈতে সঙà§à¦•à¦²à¦¨ কৰা হৈছে: নহয়"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "valgrind মোডত চলিছে: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimized build: হয়"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Optimized build: নহয়"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG বà§à¦¯à¦¾à¦–à§à¦¯à¦¾ কৰা হৈছে, সকলো asserts নিষà§à¦•à§à§°à¦¿à§Ÿ কৰা হৈছে ।"
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH বà§à¦¯à¦¾à¦–à§à¦¯à¦¾ কৰা হৈছে, অকল fast path asserts নিষà§à¦•à§à§°à¦¿à§Ÿ কৰা হৈছে ।"
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "সকলো asserts সকà§à§°à¦¿à§Ÿ কৰা হৈছে ।"
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "যনà§à¦¤à§à§° ID পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "যনà§à¦¤à§à§° ID হ'ল %s ।"
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "যনà§à¦¤à§à§° ID হ'ল %s ।"
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "ৰান-টাইম পঞà§à¦œà¦¿à¦•à¦¾ %s বà§à¦¯à§±à¦¹à¦¾à§° কৰা হৈছে ।"
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "অৱসà§à¦¥à¦¾à¦¸à§‚চক পঞà§à¦œà¦¿à¦•à¦¾ %s বà§à¦¯à§±à¦¹à¦¾à§° কৰা হৈছে ।"
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -459,15 +336,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() বà§à¦¯à§°à§à¦¥ ।"
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "নতà§à¦¨ high-resolution timers পোৱা হয়! অভিননà§à¦¦à¦¨!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -475,28 +352,28 @@ msgstr ""
"শà§à§°à§€à¦®à¦¾à¦¨, আপোনাৰ কাৰà§à¦£à§‡à¦² পূৰণি! high-resolution timer সকà§à§°à¦¿à§Ÿ থকা Linux ক আজি "
"উপদেশ দিয়া হয়!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() বà§à¦¯à§°à§à¦¥ ।"
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "ডেমন আৰমà§à¦­ কৰিবলৈ বà§à¦¯à§°à§à¦¥ ।"
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr ""
"তà§à¦²à¦¿ লোৱা মডিউল নোহোৱাকে ডেমন আৰমà§à¦­ কৰা হৈছে, কোনো কাম সঞà§à¦šà¦¾à¦²à¦¨ কৰা সমà§à¦­à§± নহয় ।"
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "ডেমন আৰমà§à¦­ কৰা সমà§à¦ªà§‚ৰà§à¦£ ।"
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "ডেমন বনà§à¦§ কৰাৰ পà§à§°à¦•à§à§°à¦¿à§Ÿà¦¾ আৰমà§à¦­ কৰা হৈছে ।"
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "ডেমন বনà§à¦§ কৰা হৈছে ।"
@@ -831,14 +708,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### চিহà§à¦¨à¦¿à¦¤ বিনà§à¦¯à¦¾à¦¸ নথিপতà§à§°à§° পৰা পà§à¦¾ হ'ব: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "root-ৰ অধিকাৰ বৰà§à¦œà¦¨ কৰা হৈছে ।"
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "CAP_SYS_NICE লৈ কাৰà§à¦¯à§à¦¯à¦•à§à¦·à¦®à¦¤à¦¾ সফলভাবে সীমিত কৰা হ'ল ।"
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à§±à¦¸à§à¦¥à¦¾"
@@ -847,24 +720,6 @@ msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à§±à¦¸à§à¦¥à¦¾"
msgid "Start the PulseAudio Sound System"
msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à§±à¦¸à§à¦¥à¦¾ আৰমà§à¦­ কৰা হ'ব"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "PulseAudio ডেমনৰ কাৰণে High-priority scheduling (ঋণাতà§à¦®à¦• Unix nice সà§à¦¤à§°)"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio ডেমনৰ কাৰণে Real-time scheduling"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° নীতিয়ে PulseAudio ক high-priority scheduling পাবলৈ নিদিয়ে ।"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° নীতিয়ে PulseAudio ক real-time scheduling পাবলৈ নিদিয়ে ।"
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "মোনো"
@@ -1237,183 +1092,187 @@ msgstr "কà§à¦•à¦¿à§° তথà§à¦¯ বিশà§à¦²à§‡à¦·à¦£ কৰিবলৈ
msgid "Failed to open configuration file '%s': %s"
msgstr "বিনà§à¦¯à¦¾à¦¸ নথিপতà§à§° '%s' খà§à¦²à¦¿à¦¬à¦²à§ˆ বà§à¦¯à§°à§à¦¥: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "কোনো কà§à¦•à¦¿ তà§à¦²à¦¿ লোৱা নহয় । কà§à¦•à¦¿ নোহোৱাকে সংযোগৰ পà§à§°à¦šà§‡à¦·à§à¦Ÿà¦¾ কৰা হৈছে ।"
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "অজানা à¦à¦•à§à¦¸à¦Ÿà§‡à¦¨à¦¶à¦¨ '%s'-ৰ বাবে বাৰà§à¦¤à¦¾ পà§à§°à¦¾à¦ªà§à¦¤ হৈছে"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "সà§à¦Ÿà§à§°à¦¿à¦® drain কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "পà§à¦²à§‡à¦¬à§‡à¦• সà§à¦Ÿà§à§°à¦¿à¦®à¦• drain কৰা হ'ল ।\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "সেৱকৰ সৈতে সংযোগ Drain কৰা হৈছে ।\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() বà§à¦¯à§°à§à¦¥: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "সফলতাৰে সà§à¦Ÿà§à§°à¦¿à¦® নিৰà§à¦®à¦¿à¦¤ হৈছে ।\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Buffer metrics: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "চানেকি spec '%s', চেনেল মেপ '%s'পà§à§°à§Ÿà§‹à¦— কৰা হৈছে\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "যনà§à¦¤à§à§° %s-ৰ সৈতে সংযোগ কৰা হৈছে (%u, %ssuspended) ।\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "ষà§à¦Ÿà§à§°à¦¿à¦® সংকà§à§°à¦¾à¦¨à§à¦¤ তà§à§°à§à¦Ÿà¦¿: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "সà§à¦Ÿà§à§°à¦¿à¦® যনà§à¦¤à§à§° সà§à¦¥à¦—িত কৰা হৈছে । %s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "সà§à¦Ÿà§à§°à¦¿à¦® যনà§à¦¤à§à§° পà§à¦¨à§°à¦¾à§°à¦®à§à¦­ কৰা হৈছে । %s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "ষà§à¦Ÿà§à§°à¦¿à¦® underrun: %s\n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "ষà§à¦Ÿà§à§°à¦¿à¦® overrun: %s\n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "সà§à¦Ÿà§à§°à¦¿à¦® আৰমà§à¦­ কৰা হৈছে । %s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "%s যনà§à¦¤à§à§°à¦²à§ˆ সà§à¦Ÿà§à§°à¦¿à¦® সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à§° কৰা হৈছে (%u, %ssuspended) ।%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "not "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "সà§à¦Ÿà§à§°à¦¿à¦® পà§à§°à¦¶à¦®à¦•à§° গà§à¦£ পৰিবৰà§à¦¤à¦¿à¦¤ হৈছে । %s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "সংযোগ সà§à¦¥à¦¾à¦ªà¦¿à¦¤ হৈছে ।%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "<b>সংযোগৰ মোড</b>: %s<br>\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF পোৱা গ'ল ।\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() বà§à¦¯à§°à§à¦¥: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF পোৱা গ'ল ।\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "চিগà§à¦¨à§‡à¦² পোৱা গ'ল, পà§à§°à¦¸à§à¦¥à¦¾à¦¨ কৰা হৈছে ।\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "latency পাবলৈ বà§à¦¯à§°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "সময়: %0.3f sec; Latency: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() বà§à¦¯à§°à§à¦¥: %s\n"
#: ../src/utils/pacat.c:605
@@ -1535,34 +1394,34 @@ msgstr ""
"libpulse ৰ সৈতে সঙà§à¦•à¦²à¦¨ কৰা হৈছে %s\n"
"libpulse ৰ সৈতে যà§à¦•à§à¦¤ %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "চেনেল মেপ '%s' বৈধ নহয়\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "resample পদà§à¦§à¦¤à¦¿ '%s' বৈধ নহয় ।"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "চেনেল মেপ '%s' বৈধ নহয়\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "অবৈধ latency নিৰà§à¦§à¦¾à§°à¦£ '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "অবৈধ পà§à§°à¦•à§à§°à¦¿à§Ÿà¦¾à§° সময়ৰ নিৰà§à¦§à¦¾à§°à¦£ '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "resample পদà§à¦§à¦¤à¦¿ '%s' বৈধ নহয় ।"
#: ../src/utils/pacat.c:878
@@ -1571,60 +1430,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "অবৈধ চানেকি নিৰà§à¦§à¦¾à§°à¦¿à¦¤\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "অতà§à¦¯à¦¾à¦§à¦¿à¦• তৰà§à¦• ।\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "চানেকি সংকà§à§°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "শবà§à¦¦à§‡à§° নথিপতà§à§° খà§à¦²à¦¿à¦¬à¦²à§ˆ বà§à¦¯à§°à§à¦¥ ।\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "à¦à¦Ÿà¦¾ %s সà§à¦Ÿà§à§°à¦¿à¦® চানেকি নিৰà§à¦§à¦¾à§°à¦£ '%s' ৰ সৈতে খোলা হৈছে ।\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "চানেকি সংকà§à§°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "à¦à¦Ÿà¦¾ %s সà§à¦Ÿà§à§°à¦¿à¦® চানেকি নিৰà§à¦§à¦¾à§°à¦£ '%s' ৰ সৈতে খোলা হৈছে ।\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "চেনেল মেপ আৰৠনথিপতà§à§° অমিল ।\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "à¦à¦Ÿà¦¾ %s সà§à¦Ÿà§à§°à¦¿à¦® চানেকি নিৰà§à¦§à¦¾à§°à¦£ '%s' ৰ সৈতে খোলা হৈছে ।\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "à¦à¦Ÿà¦¾ %s সà§à¦Ÿà§à§°à¦¿à¦® চানেকি নিৰà§à¦§à¦¾à§°à¦£ '%s' ৰ সৈতে খোলা হৈছে ।\n"
#: ../src/utils/pacat.c:1006
@@ -1635,35 +1500,34 @@ msgstr "ৰেকৰà§à¦¡ কৰা হৈছে"
msgid "playback"
msgstr "পà§à¦²à§‡-বেক"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() বà§à¦¯à§°à§à¦¥ ।\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() বà§à¦¯à§°à§à¦¥ ।\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() বà§à¦¯à§°à§à¦¥ ।\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() বà§à¦¯à§°à§à¦¥: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() বà§à¦¯à§°à§à¦¥ ।\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() বà§à¦¯à§°à§à¦¥ ।\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() বà§à¦¯à§°à§à¦¥ ।\n"
#: ../src/utils/pasuspender.c:81
@@ -1691,6 +1555,11 @@ msgstr "পà§à¦¨à§°à¦¾à§°à¦®à§à¦­ কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "সতৰà§à¦•à¦¬à¦¾à§°à§à¦¤à¦¾: ধà§à¦¬à¦¨à¦¿ সেৱক সà§à¦¥à¦¾à¦¨à§€à§Ÿ নহয়, সà§à¦¥à¦—িত কৰা নহয় ।\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "<b>সংযোগৰ মোড</b>: %s<br>\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1731,6 +1600,21 @@ msgstr ""
"libpulse ৰ সৈতে সঙà§à¦•à¦²à¦¨ কৰা হৈছে %s\n"
"libpulse ৰ সৈতে যà§à¦•à§à¦¤ %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() বà§à¦¯à§°à§à¦¥ ।\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() বà§à¦¯à§°à§à¦¥ ।\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() বà§à¦¯à§°à§à¦¥ ।\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2145,6 +2029,11 @@ msgstr ""
"libpulseৰ সৈতে সঙà§à¦•à¦²à¦¨ কৰা %s\n"
"libpulse-ৰ সৈতে যà§à¦•à§à¦¤ %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "চেনেল মেপ '%s' বৈধ নহয়\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "তà§à¦²à¦¿ লোৱাৰ উদà§à¦¦à§‡à¦¶à§à¦¯à§‡ অনà§à¦—à§à§°à¦¹ কৰে à¦à¦•à¦Ÿà¦¿ চানেকি নথিপতà§à§° উলà§à¦²à§‡à¦– কৰà§à¦¨\n"
@@ -2153,6 +2042,11 @@ msgstr "তà§à¦²à¦¿ লোৱাৰ উদà§à¦¦à§‡à¦¶à§à¦¯à§‡ অনà§à¦—à§
msgid "Failed to open sound file.\n"
msgstr "শবà§à¦¦à§‡à§° নথিপতà§à§° খà§à¦²à¦¿à¦¬à¦²à§ˆ বà§à¦¯à§°à§à¦¥ ।\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "চানেকি সংকà§à§°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2212,11 +2106,6 @@ msgstr "কাৰà§à¦¡à§‡à§° নাম/ইনà§à¦¡à§‡à¦•à§à¦¸ আৰৠà¦à¦
msgid "No valid command specified.\n"
msgstr "সঞà§à¦šà¦¾à¦²à¦¨à§° বাবে আদেশ নিৰà§à¦§à¦¾à§°à¦¿à¦¤ নহয় ।\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() বà§à¦¯à§°à§à¦¥: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2333,11 +2222,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "autospawn লক পà§à§°à§Ÿà§‹à¦— কৰিবলৈ বà§à¦¯à§°à§à¦¥ ।"
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2353,7 +2242,7 @@ msgstr ""
"POLLOUT নিৰà§à¦§à¦¾à§°à¦¿à¦¤ হোৱাৰি পিছতো আমি উথিলো -- কিনà§à¦¤à§ তাৰ পিছৰ snd_pcm_avail() ঠ০ "
"দিলে বা অনà§à¦¯ à¦à¦Ÿà¦¾ মান < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2370,15 +2259,15 @@ msgstr ""
"দিলে বা অনà§à¦¯ à¦à¦Ÿà¦¾ মান < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "বনà§à¦§"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "High Fidelity Playback (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Telephony Duplex (HSP/HFP)"
@@ -2386,6 +2275,133 @@ msgstr "Telephony Duplex (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio ধà§à¦¬à¦¨à¦¿ সেৱক"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° bus লৈ সংযোগ কৰিব পৰা ন'গ'ল: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID ৰ পৰা caller পোৱা ন'গ'ল: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "caller বসà§à¦¤à§à¦¤ UID নিৰà§à¦§à¦¾à§°à¦£ কৰিব পৰা ন'গ'ল ।"
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK অধিবেশন পাবলৈ বিফল ।"
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "অধিবেশনৰ বসà§à¦¤à§à¦¤ UID নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি ।"
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction বিতৰণ কৰিব নোৱাৰি ।"
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি ।"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext বিতৰণ কৰিব নোৱাৰি ।"
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext আৰমà§à¦­ কৰিব নোৱাৰি: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "caller ৰ অনà§à¦®à¦¤à¦¿ আছে নে নাই নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "auth পাব নোৱাৰি: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit ঠ'%s' উতà§à¦¤à§° দিলে"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "PulseAudio ডেমনৰ কাৰণে High-priority scheduling (ঋণাতà§à¦®à¦• Unix nice সà§à¦¤à§°)"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio ডেমনৰ কাৰণে Real-time scheduling"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° নীতিয়ে PulseAudio ক high-priority scheduling পাবলৈ নিদিয়ে ।"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° নীতিয়ে PulseAudio ক real-time scheduling পাবলৈ নিদিয়ে ।"
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() বà§à¦¯à§°à§à¦¥: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() বà§à¦¯à§°à§à¦¥: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "আমি '%s' সমষà§à¦Ÿà¦¿à¦¤, য'ত high-priority scheduling ৰ অনà§à¦®à¦¤à¦¿ আছে ।"
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "আমি '%s' সমষà§à¦Ÿà¦¿à¦¤, য'ত real-time scheduling ৰ অনà§à¦®à¦¤à¦¿ আছে ।"
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit ঠআমাক acquire-high-priority অধিকাৰ দিয়ে ।"
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit ঠacquire-high-priority অধিকাৰ নিদিয়ে ।"
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit ঠআমাক acquire-real-time অধিকাৰ দিয়ে ।"
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit ঠacquire-real-time অধিকাৰ নিদিয়ে ।"
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "বিনà§à¦¯à¦¾à¦¸ দà§à¦¬à¦¾à§°à¦¾ high-priority scheduling ৰ সকà§à§°à¦¿à§Ÿ হ'লেও নিয়মনীতি দà§à¦¬à¦¾à§°à¦¾ সেইটো "
+#~ "অনà§à¦®à§‹à¦¦à¦¿à¦¤ নহয় ।"
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO সফলতাৰে বৃদà§à¦§à¦¿ কৰা হৈছে"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO বিফল: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE বৰà§à¦œà¦¨ কৰা হৈছে"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "বিনà§à¦¯à¦¾à¦¸ দà§à¦¬à¦¾à§°à¦¾ real-time scheduling ৰ সকà§à§°à¦¿à§Ÿ হ'লেও নিয়মনীতি দà§à¦¬à¦¾à§°à¦¾ সেইটো "
+#~ "অনà§à¦®à§‹à¦¦à¦¿à¦¤ নহয় ।"
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "CAP_SYS_NICE লৈ কাৰà§à¦¯à§à¦¯à¦•à§à¦·à¦®à¦¤à¦¾ সফলভাবে সীমিত কৰা হ'ল ।"
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() বà§à¦¯à§°à§à¦¥ ।\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Analog Mono"
diff --git a/po/bn_IN.po b/po/bn_IN.po
index 9214f16c..eac68825 100644
--- a/po/bn_IN.po
+++ b/po/bn_IN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-08 16:21+0530\n"
"Last-Translator: Runa Bhattacharjee <runab@fedoraproject.org>\n"
"Language-Team: Bengali INDIA <fedora-trans-bn_in@redhat.com>\n"
@@ -17,7 +17,12 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -29,7 +34,7 @@ msgstr ""
"সমà§à¦­à¦¬à¦¤ à¦à¦Ÿà¦¿ ALSA ডà§à¦°à¦¾à¦‡à¦­à¦¾à¦° '%s'-র à¦à¦•à¦Ÿà¦¿ বাগ। অনà§à¦—à§à¦°à¦¹ করে à¦à¦‡ সমসà§à¦¯à¦¾ সমà§à¦¬à¦¨à§à¦§à§‡ ALSA "
"ডিভেলপরদের সূচিত করà§à¦¨à¥¤"
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -41,7 +46,7 @@ msgstr ""
"সমà§à¦­à¦¬à¦¤ à¦à¦Ÿà¦¿ ALSA ডà§à¦°à¦¾à¦‡à¦­à¦¾à¦° '%s'-র à¦à¦•à¦Ÿà¦¿ বাগ। অনà§à¦—à§à¦°à¦¹ করে à¦à¦‡ সমসà§à¦¯à¦¾ সমà§à¦¬à¦¨à§à¦§à§‡ ALSA "
"ডিভেলপরদের সূচিত করà§à¦¨à¥¤"
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -66,7 +71,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "অভà§à¦¯à¦¨à§à¦¤à¦°à§€à¦£ অডিও"
@@ -86,373 +91,246 @@ msgstr "নতà§à¦¨ dl লোডার বরাদà§à¦¦ করতে বà§à¦
msgid "Failed to add bind-now-loader."
msgstr "bind-now-loader যোগ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "সিসà§à¦Ÿà§‡à¦® বাসের সাথে সংযোগ করতে বà§à¦¯à¦°à§à¦¥: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID থেকে কলারের তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "কলার অবজেকà§à¦Ÿà§‡à¦° UID নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK সেশান পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "সেশান অবজেকà§à¦Ÿà§‡à¦° UID নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction বরাদà§à¦¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext বরাদà§à¦¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext আরমà§à¦­ করতে বà§à¦¯à¦°à§à¦¥: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "কলার অনà§à¦®à§‹à¦¦à¦¿à¦¤ কি না তা নিরà§à¦§à¦¾à¦°à¦£ করা সমà§à¦­à¦¬ নয়: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "auth পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit থেকে '%s' পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "%s সিগনà§à¦¯à¦¾à¦² পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "পà§à¦°à¦¸à§à¦¥à¦¾à¦¨ করা হচà§à¦›à§‡à¥¤"
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "'%s' বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€ সনà§à¦§à¦¾à¦¨ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "দল '%s' সনà§à¦§à¦¾à¦¨ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€ '%s' (UID %lu) ও দল '%s' (GID %lu) পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "'%s' বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€à¦° ও '%s' দলের GID-র মধà§à¦¯à§‡ গরমিল।"
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr ""
"'%s' বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত ডিরেকà§à¦Ÿà¦°à¦¿ রূপে '%s' ধারà§à¦¯ করা হয়নি, অগà§à¦°à¦¾à¦¹à§à¦¯ করা হবে।"
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' নিরà§à¦®à¦¾à¦£ করতে বà§à¦¯à¦°à§à¦¥: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "দলের তালিকা পরিবরà§à¦¤à¦¨ করতে বà§à¦¯à¦°à§à¦¥: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID পরিবরà§à¦¤à¦¨ করতে বà§à¦¯à¦°à§à¦¥: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID পরিবরà§à¦¤à¦¨ করতে বà§à¦¯à¦°à§à¦¥: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "root-র অধিকার সাফলà§à¦¯à§‡à¦° সাথে বরà§à¦œà¦¨ করা হয়েছে।"
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "à¦à¦‡ পà§à¦²à§à¦¯à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡, সিসà§à¦Ÿà§‡à¦®à¦¬à§à¦¯à¦¾à¦ªà§€ মোড সমরà§à¦¥à¦¿à¦¤ নয়।"
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) বিফল: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "কমানà§à¦¡-লাইন পারà§à¦¸ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "অধিক গà§à¦°à§à¦¤à§à¦¬à¦¸à¦¹ শিডিউলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§à¦•à¦¾à¦°à§€ '%s' দলে আমরা উপসà§à¦¥à¦¿à¦¤à¥¤"
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "রিয়েল-টাইম শিডিউলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§à¦•à¦¾à¦°à§€ '%s' দলে আমরা উপসà§à¦¥à¦¿à¦¤à¥¤"
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit-র পকà§à¦· থেকে acquire-high-priority অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit-র পকà§à¦· থেকে acquire-high-priority অধিকার পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤ হয়েছে।"
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit-র পকà§à¦· থেকে acquire-real-priority অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit-র পকà§à¦· থেকে acquire-real-priority অধিকার পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤ হয়েছে।"
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"SUID root কল করা হয়েছে à¦à¦¬à¦‚ কনফিগারেশনের মধà§à¦¯à§‡ রিয়েল-টাইম à¦à¦¬à¦‚/অথবা উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° "
-"শিডিউলিংয়ের অনà§à¦°à§‹à¦§ জানানো হয়েছে, কিনà§à¦¤à§ পরà§à¦¯à¦¾à¦ªà§à¦¤ অনà§à¦®à¦¤à¦¿ উপসà§à¦¥à¦¿à¦¤ নেই:\n"
-"'%s' দলে অনà§à¦¤à¦°à§à¦­à§à¦•à§à¦¤ নয়, PolicyKit দà§à¦¬à¦¾à¦°à¦¾ পরà§à¦¯à¦¾à¦ªà§à¦¤ অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ করা হয়নি à¦à¦¬à¦‚ "
-"RLIMIT_NICE/RLIMIT_RTPRIO রিসোরà§à¦¸à§‡à¦° সীমা বৃদà§à¦§à¦¿à¦° করতে হবে।\n"
-"রিয়েল-টাইম/উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং সকà§à¦°à¦¿à§Ÿ করার জনà§à¦¯ অনà§à¦—à§à¦°à¦¹ করে পà§à¦°à¦¯à§‹à¦œà§à¦¯ PolicyKit "
-"অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ করà§à¦¨, অথবা '%s' দলের সদসà§à¦¯ হন, অথবা সংশà§à¦²à¦¿à¦·à§à¦Ÿ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€à¦° জনà§à¦¯ "
-"RLIMIT_NICE/RLIMIT_RTPRIO রিসোরà§à¦¸à§‡à¦° সীমা বৃদà§à¦§à¦¿ করà§à¦¨à¥¤"
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"কনফিগারেশন দà§à¦¬à¦¾à¦°à¦¾ high-priority শিডিইলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§ হলেও নিয়মনীতি দà§à¦¬à¦¾à¦°à¦¾ "
-"তা অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।"
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO সাফলà§à¦¯à§‡à¦° সাথে বৃদà§à¦§à¦¿ করা হয়েছে"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO বিফল: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE বরà§à¦œà¦¨ করা হচà§à¦›à§‡"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"কনফিগারেশন দà§à¦¬à¦¾à¦°à¦¾ real-time শিডিইলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§ হলেও নিয়মনীতি দà§à¦¬à¦¾à¦°à¦¾ তা "
-"অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।"
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "ডেমন চলছে না"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "PID %u রূপে ডেমন চলছে"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "ডেমন kill করতে বà§à¦¯à¦°à§à¦¥: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr ""
"root পরিচয়ে à¦à¦‡ পà§à¦°à§‹à¦—à§à¦°à¦¾à¦®à¦Ÿà¦¿ সঞà§à¦šà¦¾à¦²à¦¿à¦¤ হওয়া উচিত নয় (যদি না --system উলà§à¦²à¦¿à¦–িত হয়)।"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Root-র অধিকার আবশà§à¦¯à¦•à¥¤"
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "সিসà§à¦Ÿà§‡à¦® ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸à§‡à¦° কà§à¦·à§‡à¦¤à§à¦°à§‡ --start সমরà§à¦¥à¦¿à¦¤ নয়।"
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "সিসà§à¦Ÿà§‡à¦® মোডে চলছে, কিনà§à¦¤à§ --disallow-exit নিরà§à¦§à¦¾à¦°à¦¿à¦¤ হয়নি!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "সিসà§à¦Ÿà§‡à¦® মোডে চলছে, কিনà§à¦¤à§ --disallow-module-loading নিরà§à¦§à¦¾à¦°à¦¿à¦¤ হয়নি!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "সিসà§à¦Ÿà§‡à¦® মোডে চলছে, SHM মোড বলপূরà§à¦¬à¦• নিষà§à¦•à§à¦°à¦¿à§Ÿ করা হচà§à¦›à§‡!"
# http://linux.die.net/man/1/pulseaudio à¦à¦–ানে রেফারেনà§à¦¸ পাওয়া যাবে
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"সিসà§à¦Ÿà§‡à¦® মোডে চলছে, করà§à¦®à¦¹à§€à¦¨ অবসà§à¦¥à¦¾à¦° জনà§à¦¯ ধারà§à¦¯ সময়সীমা পূরà§à¦¤à§€ পরে পà§à¦°à¦¸à§à¦¥à¦¾à¦¨à§‡à¦° বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾ "
"বলপূরà§à¦¬à¦• নিষà§à¦•à§à¦°à¦¿à§Ÿ করা হচà§à¦›à§‡!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "পাইপ বিফল: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() বিফল: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() বিফল: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "ডেমন আরমà§à¦­ করতে বিফল।"
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "সাফলà§à¦¯à§‡à¦° সাথে ডেমন আরমà§à¦­ করা হয়েছে।"
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "à¦à¦Ÿà¦¿ PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "কমà§à¦ªà¦¾à¦‡à¦²à§‡à¦¶à¦¨à§‡à¦° হোসà§à¦Ÿ: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "কমà§à¦ªà¦¾à¦‡à¦²à¦¶à¦¨à§‡à¦° CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "চিহà§à¦¨à¦¿à¦¤ হোসà§à¦Ÿà§‡ চলছে: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPU পাওয়া গিয়েছে।"
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "পেজের মাপ %lu বাইট"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Valgrind সমরà§à¦¥à¦¨ সহ কমà§à¦ªà¦¾à¦‡à¦² করা হয়েছে: হà§à¦¯à¦¾à¦"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Valgrind সমরà§à¦¥à¦¨ সহ কমà§à¦ªà¦¾à¦‡à¦² করা হয়েছে: না"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "valgrind মোডে চলছে: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "সরà§à¦¬à¦¾à¦ªà§‡à¦•à§à¦· উতà§à¦¤à¦® বিলà§à¦¡: হà§à¦¯à¦¾à¦"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "সরà§à¦¬à¦¾à¦ªà§‡à¦•à§à¦· উতà§à¦¤à¦® বিলà§à¦¡: না"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG বà§à¦¯à¦¾à¦–à§à¦¯à¦¾ করা হয়েছে, সকল অà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦Ÿ নিষà§à¦•à§à¦°à¦¿à§Ÿ করা হয়েছে।"
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH বà§à¦¯à¦¾à¦–à§à¦¯à¦¾ করা হয়েছে, শà§à¦§à§à¦®à¦¾à¦¤à§à¦° ফাসà§à¦Ÿ পাথ অà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦Ÿ নিষà§à¦•à§à¦°à¦¿à§Ÿ করা হয়েছে।"
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "সকল অà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦Ÿ সকà§à¦°à¦¿à§Ÿ করা হয়েছে।"
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "মেশিন ID পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "মেশিন ID হল %s।"
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "মেশিন ID হল %s।"
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "রান-টাইম ডিরেকà§à¦Ÿà¦°à¦¿ %s বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হচà§à¦›à§‡à¥¤"
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "অবসà§à¦¥à¦¾à¦¸à§‚চক ডিরেকà§à¦Ÿà¦°à¦¿ %s বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হচà§à¦›à§‡à¥¤"
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "সিসà§à¦Ÿà§‡à¦® মোডে চলছে: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -462,42 +340,42 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "উচà§à¦š-রেসোলিউশনের নতà§à¦¨ টাইমার উপলবà§à¦§ রয়েছে! পরীকà§à¦·à¦¾ করে দেখà§à¦¨!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
msgstr "উচà§à¦š-রেসোলিউশনের নতà§à¦¨ টাইমার সহ Linux সকà§à¦°à¦¿à§Ÿ করা বাঞà§à¦›à¦¨à§€à§Ÿ!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "ডেমন আরমà§à¦­ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr ""
"লোড করা মডিউল বিনা ডেমন আরমà§à¦­ করা হয়েছে à¦à¦¬à¦‚ কোনো করà§à¦® সঞà§à¦šà¦¾à¦²à¦¨ করা সমà§à¦­à¦¬ নয়।"
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "ডেমন আরমà§à¦­ করা হয়েছে।"
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "ডেমন বনà§à¦§ করার পà§à¦°à¦•à§à¦°à¦¿à§Ÿà¦¾ আরমà§à¦­ করা হয়েছে।"
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "ডেমন বনà§à¦§ করা হয়েছে।"
@@ -841,14 +719,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### চিহà§à¦¨à¦¿à¦¤ কনফিগারেশন ফাইল থেকে পড়া হবে: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "root-র অধিকার বরà§à¦œà¦¨ করা হচà§à¦›à§‡à¥¤"
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "সাফলà§à¦¯à§‡à¦° সাথে CAP_SYS_NICE-ঠকরà§à¦®à¦•à§à¦·à¦®à¦¤à¦¾ সীমিত করা হয়েছে।"
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾"
@@ -857,28 +731,6 @@ msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾"
msgid "Start the PulseAudio Sound System"
msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾ আরমà§à¦­ করা হবে"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "PulseAudio ডেমনের জনà§à¦¯ উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং (Unix nice-র মাতà§à¦°à¦¾ নঞরà§à¦¥à¦•)"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio ডেমনের জনà§à¦¯ রিয়েল-টাইম শিডিউলিং"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"সিসà§à¦Ÿà§‡à¦®à§‡à¦° নিয়ম-নীতির কারণে PulseAudio দà§à¦¬à¦¾à¦°à¦¾ উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং পà§à¦°à§Ÿà§‹à¦— করা "
-"সমà§à¦­à¦¬ হচà§à¦›à§‡ না।"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"সিসà§à¦Ÿà§‡à¦®à§‡à¦° নিয়ম-নীতির কারণে PulseAudio দà§à¦¬à¦¾à¦°à¦¾ রিয়েল-টাইম শিডিউলিং পà§à¦°à§Ÿà§‹à¦— করা "
-"সমà§à¦­à¦¬ হচà§à¦›à§‡ না।"
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "মোনো"
@@ -1251,187 +1103,191 @@ msgstr "কà§à¦•à¦¿à¦° তথà§à¦¯ পারà§à¦¸ করতে বà§à¦¯à¦°à§
msgid "Failed to open configuration file '%s': %s"
msgstr "কনফিগারেশন ফাইল '%s' খà§à¦²à¦¤à§‡ বà§à¦¯à¦°à§à¦¥: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "কোনো কà§à¦•à¦¿ লোড করা হয়নি। কà§à¦•à¦¿ বিনা সংযোগের পà§à¦°à¦šà§‡à¦·à§à¦Ÿà¦¾ করা হচà§à¦›à§‡à¥¤"
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "অজানা à¦à¦•à§à¦¸à¦Ÿà§‡à¦¨à¦¶à¦¨ '%s'-র জনà§à¦¯ বারà§à¦¤à¦¾ পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে"
# drain a stream = যখন সà§à¦Ÿà§à¦°à¦¿à¦®à§‡à¦° মধà§à¦¯à§‡ উপসà§à¦¥à¦¿à¦¤ সকল তথà§à¦¯ আহরণ করা হয় ও সà§à¦Ÿà§à¦°à¦¿à¦®à¦Ÿà¦¿ সমà§à¦ªà§‚রà§à¦£à¦°à§‚পে ফাà¦à¦•à¦¾ হয়ে যায়।
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® ডà§à¦°à§‡à¦‡à¦¨ (অরà§à¦¥à¦¾à§Ž ফাà¦à¦•à¦¾) করতে বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "পà§à¦²à§‡-বà§à¦¯à¦¾à¦• সà§à¦Ÿà§à¦°à¦¿à¦® ফাà¦à¦•à¦¾ করা হয়েছে।\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "সারà§à¦­à¦¾à¦°à§‡à¦° সাথে সà§à¦¥à¦¾à¦ªà¦¿à¦¤ সংযোগ ফাà¦à¦•à¦¾ করা হচà§à¦›à§‡à¥¤\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() বà§à¦¯à¦°à§à¦¥: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "সাফলà§à¦¯à§‡à¦° সাথে সà§à¦Ÿà§à¦°à¦¿à¦® নিরà§à¦®à¦¿à¦¤ হয়েছে।\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "বাফারের মাপ: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "বাফারের মাপ: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦²à§‡à¦° spec '%s', ও চà§à¦¯à¦¾à¦¨à§‡à¦² মà§à¦¯à¦¾à¦ª '%s' বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হচà§à¦›à§‡à¥¤\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "ডিভাইস %s-র সাথে সংযোগ করা হয়েছে (%u, %ssuspended)।\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "ষà§à¦Ÿà§à¦°à¦¿à¦® সংকà§à¦°à¦¾à¦¨à§à¦¤ তà§à¦°à§à¦Ÿà¦¿: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® ডিভাইস সà§à¦¥à¦—িত করা হয়েছে। %s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® ডিভাইস পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦­ করা হয়েছে। %s \n"
# underrun = ধীর গতির সà§à¦Ÿà§à¦°à¦¿à¦®
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "ধীর গতির সà§à¦Ÿà§à¦°à¦¿à¦®.%s \n"
# overrun=the stream fills up the allocated buffer space and there is no more space for it
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® মাতà§à¦°à¦¾ অতিকà§à¦°à¦® করেছে।%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® আরমà§à¦­ করা হয়েছে। %s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "%s ডিভাইসে সà§à¦Ÿà§à¦°à¦¿à¦® সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা হয়েছে (%u, %ssuspended)।%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "না "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® বাফারের অà§à¦¯à¦¾à¦Ÿà§à¦°à¦¿à¦¬à¦¿à¦‰à¦Ÿ পরিবরà§à¦¤à¦¿à¦¤ হয়েছে। %s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "সংযোগ সà§à¦¥à¦¾à¦ªà¦¿à¦¤ হয়েছে।%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "সংযোগ বিফল: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "ফাইলের সমাপà§à¦¤à¦¿ সনাকà§à¦¤ হয়েছে। \n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() বà§à¦¯à¦°à§à¦¥: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "ফাইলের সমাপà§à¦¤à¦¿ সনাকà§à¦¤ হয়েছে। \n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "সিগনà§à¦¯à¦¾à¦² পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে, পà§à¦°à¦¸à§à¦¥à¦¾à¦¨ করা হবে।\n"
# latency here = delay (technical term
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "লেটেনà§à¦¸à¦¿à¦° পরিমাণ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "সময়: %0.3f সেকেনà§à¦¡; লেটেনà§à¦¸à¦¿: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() বà§à¦¯à¦°à§à¦¥: %s\n"
#: ../src/utils/pacat.c:605
@@ -1550,34 +1406,34 @@ msgstr ""
"libpulse সহযোগে কমà§à¦ªà¦¾à¦‡à¦² করা হয়েছে %s\n"
"libpulse-র সাথে যà§à¦•à§à¦¤ %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "চà§à¦¯à¦¾à¦¨à§‡à¦² মà§à¦¯à¦¾à¦ª '%s' বৈধ নয়\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "রি-সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² পদà§à¦§à¦¤à¦¿ '%s' বৈধ নয়।"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "চà§à¦¯à¦¾à¦¨à§‡à¦² মà§à¦¯à¦¾à¦ª '%s' বৈধ নয়\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "লেটেনà§à¦¸à¦¿à¦° জনà§à¦¯ নিরà§à¦§à¦¾à¦°à¦¿à¦¤ বৈশিষà§à¦Ÿà§à¦¯ '%s' বৈধ নয়\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "পà§à¦°à¦¸à§‡à¦¸à§‡à¦° সময়ের বৈশিষà§à¦Ÿà§à¦¯ '%s' বৈধ নয়\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "রি-সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² পদà§à¦§à¦¤à¦¿ '%s' বৈধ নয়।"
#: ../src/utils/pacat.c:878
@@ -1586,60 +1442,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "অবৈধ সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² নিরà§à¦§à¦¾à¦°à¦¿à¦¤\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "অতà§à¦¯à¦¾à¦§à¦¿à¦• আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿà¥¤\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² সংকà§à¦°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "শবà§à¦¦à§‡à¦° ফাইল খà§à¦²à¦¤à§‡ বà§à¦¯à¦°à§à¦¥à¥¤\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "à¦à¦•à¦Ÿà¦¿ %s সà§à¦Ÿà§à¦°à¦¿à¦® '%s' সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² বৈশিষà§à¦Ÿà§à¦¯ সহ খোলা হচà§à¦›à§‡à¥¤\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² সংকà§à¦°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "à¦à¦•à¦Ÿà¦¿ %s সà§à¦Ÿà§à¦°à¦¿à¦® '%s' সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² বৈশিষà§à¦Ÿà§à¦¯ সহ খোলা হচà§à¦›à§‡à¥¤\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "চà§à¦¯à¦¾à¦¨à§‡à¦²à§‡à¦° মà§à¦¯à¦¾à¦ª ও সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦²à§‡à¦° মাপে গরমিল\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "à¦à¦•à¦Ÿà¦¿ %s সà§à¦Ÿà§à¦°à¦¿à¦® '%s' সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² বৈশিষà§à¦Ÿà§à¦¯ সহ খোলা হচà§à¦›à§‡à¥¤\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "à¦à¦•à¦Ÿà¦¿ %s সà§à¦Ÿà§à¦°à¦¿à¦® '%s' সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² বৈশিষà§à¦Ÿà§à¦¯ সহ খোলা হচà§à¦›à§‡à¥¤\n"
#: ../src/utils/pacat.c:1006
@@ -1650,35 +1512,34 @@ msgstr "রেকরà§à¦¡ করা হচà§à¦›à§‡"
msgid "playback"
msgstr "পà§à¦²à§‡-বà§à¦¯à¦¾à¦•"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() বà§à¦¯à¦°à§à¦¥: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() বà§à¦¯à¦°à§à¦¥à¥¤\n"
#: ../src/utils/pasuspender.c:81
@@ -1706,6 +1567,11 @@ msgstr "পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦­ করতে বà§à¦¯à¦°à§à¦¥: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "সতরà§à¦•à¦¬à¦¾à¦°à§à¦¤à¦¾: শবà§à¦¦à§‡à¦° সারà§à¦­à¦¾à¦°à¦Ÿà¦¿ সà§à¦¥à¦¾à¦¨à§€à§Ÿ নয় ও সà§à¦¥à¦—িত করা হচà§à¦›à§‡ না।\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "সংযোগ বিফল: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1746,6 +1612,21 @@ msgstr ""
"libpulse সহযোগে কমà§à¦ªà¦¾à¦‡à¦² করা হয়েছে %s\n"
"libpulse-র সাথে যà§à¦•à§à¦¤ %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() বà§à¦¯à¦°à§à¦¥à¥¤\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2160,6 +2041,11 @@ msgstr ""
"libpulse সহযোগে কমà§à¦ªà¦¾à¦‡à¦² করা %s\n"
"libpulse-র সাথে যà§à¦•à§à¦¤ %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "চà§à¦¯à¦¾à¦¨à§‡à¦² মà§à¦¯à¦¾à¦ª '%s' বৈধ নয়\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "লোড করার উদà§à¦¦à§‡à¦¶à§à¦¯à§‡ অনà§à¦—à§à¦°à¦¹ করে à¦à¦•à¦Ÿà¦¿ সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² ফাইল উলà§à¦²à§‡à¦– করà§à¦¨\n"
@@ -2168,6 +2054,11 @@ msgstr "লোড করার উদà§à¦¦à§‡à¦¶à§à¦¯à§‡ অনà§à¦—à§à¦°à¦¹
msgid "Failed to open sound file.\n"
msgstr "শবà§à¦¦à§‡à¦° ফাইল খà§à¦²à¦¤à§‡ বà§à¦¯à¦°à§à¦¥à¥¤\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² সংকà§à¦°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2227,11 +2118,6 @@ msgstr "কারà§à¦¡à§‡à¦° নাম/ইনà§à¦¡à§‡à¦•à§à¦¸ ও à¦à¦•à¦Ÿà¦
msgid "No valid command specified.\n"
msgstr "কোনো কমানà§à¦¡ নিরà§à¦§à¦¾à¦°à¦¿à¦¤ হয়নি।\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() বà§à¦¯à¦°à§à¦¥: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2348,11 +2234,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "autospawn লক পà§à¦°à§Ÿà§‹à¦— করতে বà§à¦¯à¦°à§à¦¥à¥¤"
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2369,7 +2255,7 @@ msgstr ""
"POLLOUT set দà§à¦¬à¦¾à¦°à¦¾ চেতাবনী সৃষà§à¦Ÿà¦¿ হয়েছে -- পরবরà§à¦¤à§€ snd_pcm_avail() থেকে 0 অথবা < "
"min_avail-র থেকে কম অনà§à¦¯ à¦à¦•à¦Ÿà¦¿ মান পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2387,15 +2273,15 @@ msgstr ""
"min_avail-র থেকে কম অনà§à¦¯ à¦à¦•à¦Ÿà¦¿ মান পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "বনà§à¦§"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "হাই-ফিডেলিটি পà§à¦²à§‡-বà§à¦¯à¦¾à¦• (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "টেলিফোনি ডà§à¦ªà§à¦²à§‡ (HSP/HFP)"
@@ -2403,6 +2289,134 @@ msgstr "টেলিফোনি ডà§à¦ªà§à¦²à§‡ (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio শবà§à¦¦à§‡à¦° সারà§à¦­à¦¾à¦°"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "সিসà§à¦Ÿà§‡à¦® বাসের সাথে সংযোগ করতে বà§à¦¯à¦°à§à¦¥: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID থেকে কলারের তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "কলার অবজেকà§à¦Ÿà§‡à¦° UID নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK সেশান পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "সেশান অবজেকà§à¦Ÿà§‡à¦° UID নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction বরাদà§à¦¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext বরাদà§à¦¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤"
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext আরমà§à¦­ করতে বà§à¦¯à¦°à§à¦¥: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "কলার অনà§à¦®à§‹à¦¦à¦¿à¦¤ কি না তা নিরà§à¦§à¦¾à¦°à¦£ করা সমà§à¦­à¦¬ নয়: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "auth পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit থেকে '%s' পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr "PulseAudio ডেমনের জনà§à¦¯ উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং (Unix nice-র মাতà§à¦°à¦¾ নঞরà§à¦¥à¦•)"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio ডেমনের জনà§à¦¯ রিয়েল-টাইম শিডিউলিং"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "সিসà§à¦Ÿà§‡à¦®à§‡à¦° নিয়ম-নীতির কারণে PulseAudio দà§à¦¬à¦¾à¦°à¦¾ উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং পà§à¦°à§Ÿà§‹à¦— করা "
+#~ "সমà§à¦­à¦¬ হচà§à¦›à§‡ না।"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "সিসà§à¦Ÿà§‡à¦®à§‡à¦° নিয়ম-নীতির কারণে PulseAudio দà§à¦¬à¦¾à¦°à¦¾ রিয়েল-টাইম শিডিউলিং পà§à¦°à§Ÿà§‹à¦— করা "
+#~ "সমà§à¦­à¦¬ হচà§à¦›à§‡ না।"
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() বà§à¦¯à¦°à§à¦¥: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() বà§à¦¯à¦°à§à¦¥: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "অধিক গà§à¦°à§à¦¤à§à¦¬à¦¸à¦¹ শিডিউলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§à¦•à¦¾à¦°à§€ '%s' দলে আমরা উপসà§à¦¥à¦¿à¦¤à¥¤"
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "রিয়েল-টাইম শিডিউলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§à¦•à¦¾à¦°à§€ '%s' দলে আমরা উপসà§à¦¥à¦¿à¦¤à¥¤"
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit-র পকà§à¦· থেকে acquire-high-priority অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit-র পকà§à¦· থেকে acquire-high-priority অধিকার পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤ হয়েছে।"
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit-র পকà§à¦· থেকে acquire-real-priority অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit-র পকà§à¦· থেকে acquire-real-priority অধিকার পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤ হয়েছে।"
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "SUID root কল করা হয়েছে à¦à¦¬à¦‚ কনফিগারেশনের মধà§à¦¯à§‡ রিয়েল-টাইম à¦à¦¬à¦‚/অথবা উচà§à¦š-"
+#~ "গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিংয়ের অনà§à¦°à§‹à¦§ জানানো হয়েছে, কিনà§à¦¤à§ পরà§à¦¯à¦¾à¦ªà§à¦¤ অনà§à¦®à¦¤à¦¿ উপসà§à¦¥à¦¿à¦¤ নেই:\n"
+#~ "'%s' দলে অনà§à¦¤à¦°à§à¦­à§à¦•à§à¦¤ নয়, PolicyKit দà§à¦¬à¦¾à¦°à¦¾ পরà§à¦¯à¦¾à¦ªà§à¦¤ অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ করা হয়নি à¦à¦¬à¦‚ "
+#~ "RLIMIT_NICE/RLIMIT_RTPRIO রিসোরà§à¦¸à§‡à¦° সীমা বৃদà§à¦§à¦¿à¦° করতে হবে।\n"
+#~ "রিয়েল-টাইম/উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং সকà§à¦°à¦¿à§Ÿ করার জনà§à¦¯ অনà§à¦—à§à¦°à¦¹ করে পà§à¦°à¦¯à§‹à¦œà§à¦¯ PolicyKit "
+#~ "অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ করà§à¦¨, অথবা '%s' দলের সদসà§à¦¯ হন, অথবা সংশà§à¦²à¦¿à¦·à§à¦Ÿ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€à¦° জনà§à¦¯ "
+#~ "RLIMIT_NICE/RLIMIT_RTPRIO রিসোরà§à¦¸à§‡à¦° সীমা বৃদà§à¦§à¦¿ করà§à¦¨à¥¤"
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "কনফিগারেশন দà§à¦¬à¦¾à¦°à¦¾ high-priority শিডিইলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§ হলেও নিয়মনীতি "
+#~ "দà§à¦¬à¦¾à¦°à¦¾ তা অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।"
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO সাফলà§à¦¯à§‡à¦° সাথে বৃদà§à¦§à¦¿ করা হয়েছে"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO বিফল: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE বরà§à¦œà¦¨ করা হচà§à¦›à§‡"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "কনফিগারেশন দà§à¦¬à¦¾à¦°à¦¾ real-time শিডিইলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§ হলেও নিয়মনীতি দà§à¦¬à¦¾à¦°à¦¾ তা "
+#~ "অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।"
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "সাফলà§à¦¯à§‡à¦° সাথে CAP_SYS_NICE-ঠকরà§à¦®à¦•à§à¦·à¦®à¦¤à¦¾ সীমিত করা হয়েছে।"
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"
+
#~ msgid "Analog Mono"
#~ msgstr "অà§à¦¯à¦¾à¦¨à¦¾à¦²à¦— মোনো"
diff --git a/po/ca.po b/po/ca.po
index 878e2293..f3b0a599 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -23,15 +23,20 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
-"PO-Revision-Date: 2009-06-10 18:47+0200\n"
-"Last-Translator: Judith Pintó Subirada <judithp@gmail.com>\n"
-"Language-Team: \n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
+"PO-Revision-Date: 2009-07-18 11:40+0100\n"
+"Last-Translator: Tomàs Bigordà <t0mynoker@gmail.com>\n"
+"Language-Team: Catalan <fedora@softcatala.net>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -44,7 +49,7 @@ msgstr ""
"Probablement es tracta d'un error del controlador de l'ALSA '%s'. Informeu "
"d'aquest incident als desenvolupadors de l'ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -57,7 +62,7 @@ msgstr ""
"Probablement es tracta d'un error del controlador de l'ALSA '%s'. Informeu "
"d'aquest incident als desenvolupadors de l'ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -72,7 +77,7 @@ msgstr ""
#: ../src/modules/module-ladspa-sink.c:49
msgid "Virtual LADSPA sink"
-msgstr ""
+msgstr "Conducte virtual LADSPA"
#: ../src/modules/module-ladspa-sink.c:53
msgid ""
@@ -82,8 +87,13 @@ msgid ""
"plugin name> label=<ladspa plugin label> control=<comma seperated list of "
"input control values>"
msgstr ""
+"sink_name=<nom per al conducte> sink_properties=<propietats per al conducte> "
+"master=<nom del conducte del filtre> format=<format de mostra> rate=<ràtio "
+"de mostra> channels=<nombre de canals> channel_map=<mapa de canals> "
+"pulgin=<nom del connector ladspa> label=<etiqueta del connector ladspa> "
+"control=<llista separada per comes dels valors de control d'entrada>"
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Audio intern"
@@ -103,223 +113,92 @@ msgstr "No s'ha pogut allotjar el nou carregador dl."
msgid "Failed to add bind-now-loader."
msgstr "No s'ha pogut afegir bind-now-loader."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "No s'ha pogut connectar al bus del sistema: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "No s'ha pogut obtenir una crida del PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "No s'ha pogut especificar l'UID en l'objecte crida."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "No s'ha pogut obtenir la sessió CK."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "No s'ha pogut definir l'UID en l'objecte sessió."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "No s'ha pogut assignar PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "No s'ha pogut definir action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "No s'ha pogut assignar PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "No s'ha pogut inicialitzar PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "No s'ha pogut determinar si la crida està autoritzada: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "No s'ha pogut obtenir l'autorització: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit ha respós '%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "S'ha obtingut la senyal %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "S'està sortint."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "No s'ha trobat l'usuari '%s'."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "No s'ha trobat el grup '%s'."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "S'han trobat l'usuari '%s' (UID %lu) i el grup '%s' (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "El GID de l'usuari '%s' i del grup '%s' no coincideixen."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "El directori arrel de l'usuari '%s' no és '%s', s'ignorarà."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "No s'ha pogut crear '%s': %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
-msgstr "No s'ha pogut canviar la llista del grup :%s"
+msgstr "No s'ha pogut canviar la llista del grup: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "No s'ha pogut canviar el GID: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "No s'ha pogut canviar l'UID: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "S'han alliberat els permisos de root."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "El mode de sistema global no és compatible amb aquesta plataforma."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "S'ha produït un error en setrlimit(%s, (%u, %u)): %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "No s'ha pogut interpretar la línia d'ordres."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Aquesta aplicació està en el grup '%s', s'està establint la prioritat alta."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-"Aquesta aplicació està en el grup '%s', s'està establint la prioritat en "
-"temps real."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit ha permés el privilegi acquire-high-priority."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit ha rebutjat el privilegi acquire-high-priority."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit ha permés el privilegi acquire-real-time."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit ha rebutjat el privilegi acquire-real-time."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"S'ha demanat SUID de root i una planificació de temps real i/o d'alta "
-"prioritat. De totes formes, falten els privilegis necessaris:\n"
-"No es pertany al grup '%s'. PolicyKit no atorga els privilegis demanats i no "
-"s'ha incrementat els límits de recursos RLIMIT_NICE/RLIMIT_RTPRIO.\n"
-"Per habilitar la planificació en temps real o d'alta prioritat, heu "
-"d'obtenir els privilegis de PolicyKits adequats, o pertànyer al grup '%s', o "
-"incrementar els límits de recursos de RLIMIT_NICE/RLIMIT_RTPRIO per a aquest "
-"usuari."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"La prioritat alta està habilitada en la configuració però no està permesa "
-"per la política."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "S'ha incrementat el valor de RLIMIT_RTPRIO amb éxit."
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "S'ha produït un error amb RLIMIT_RTPRIO: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "S'abandona CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"La prioritat de temps real està habilitada en la configuració però no està "
-"permesa per la política."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "El dimoni no s'està executant"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "El dimoni s'està executant amb PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "S'ha produït un error en matar el dimoni: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -327,158 +206,158 @@ msgstr ""
"No és necessari executar aquesta aplicació com a root (excepte si "
"s'especifica --system)"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Es requereixen privilegis de root."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "La opció --start no està suportada per a instàncies de sistema."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr ""
"S'està executant en mode sistema, però no s'ha especificat l'opció --"
"disallow-exit."
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"S'està executant en mode sistema, però no s'ha especificat l'opció --"
"disallow-module-loading."
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr ""
"S'està executant en mode sistema, es deshabilitarà el mode SHM forçosament."
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"S'està executant en mode sistema, la sortida per temps d'inactivitat es "
"deshabilita."
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "S'ha produït un error en adquirir stdio."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "Ha fallat la canonada: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "Ha fallat fork(): %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "Ha fallat read(): %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "S'ha produït un error en iniciar el dimoni."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "S'ha iniciat el dimoni."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Aquest és el PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Host de compilació: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "CFLAGS de compilació: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "S'està executant en el host: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "S'han trobat %u CPU's"
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "La mida de pàgina és de %lu bytes."
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Compilat amb suport per a Valgrind: sí"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Compilat amb suport per a Valgrind: no"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "S'està executant amb el mode valgrind: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Construcció optimitzada: sí"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Construcció optmitzada: no"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG està definit, s'han desactivat totes les assercions."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr ""
"FASTPATH està definit, només s'ha deshabilitat les assercions de camí ràpid."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "S'han habilitat totes les assercions."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "No s'ha pogut obtenir l'ID de la màquina"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "L'ID de la màquina és %s."
-#: ../src/daemon/main.c:917
-#, fuzzy, c-format
+#: ../src/daemon/main.c:770
+#, c-format
msgid "Session ID is %s."
-msgstr "L'ID de la màquina és %s."
+msgstr "L'ID de la sessió és %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "S'està utilitzant el directori d'execució %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "S'està utilitzant el directori d'estat %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "S'està executant en mode sistema: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -487,16 +366,22 @@ msgid ""
"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an "
"explanation why system mode is usually a bad idea."
msgstr ""
-
-#: ../src/daemon/main.c:951
+"Esteu utilitzant el PA en mode sistema. Tingueu en compte que molt "
+"probablement no hauríeu de fer-ho.\n"
+"No obstant això, si ho feu és la vostra responsabilitat si no funciona com "
+"s'esperava.\n"
+"Si us plau, llegiu http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode per "
+"a una explicació de per què el mode sistema sol ser una mala idea."
+
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "S'ha produït un error en pa_pid_file_create()."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Estan disponibles els temporitzadors frescos d'alta resolució."
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -504,27 +389,27 @@ msgstr ""
"Es recomana la utilització d'un nucli amb els temporitzadors d'alta "
"resolució habilitats."
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "S'ha produït un error en pa_core_new()."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "S'ha produït un error en inicialitzar el dimoni."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "El dimoni s'ha iniciat sense cap mòdul carregat, no funcionarà."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "S'ha completat la inicialització del dimoni."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "S'ha iniciat l'aturada del dimoni."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "S'ha aturat el dimoni."
@@ -624,7 +509,7 @@ msgstr ""
"inicialització\n"
" --fail[=BOOL] Surt quan falli la inicialització\n"
" --high-priority[=BOOL] Prova d'establir un nivell de \n"
-" prioritat alt (només disponible com "
+" Prioritat alta (només disponible com "
"a root,\n"
" amb SUID o amb un RLIMIT_NICE "
"elevat)\n"
@@ -658,12 +543,12 @@ msgstr ""
"missatges de registre\n"
" --log-time[=BOOL] Inclou marques de temps en els "
"missatges de registre\n"
-" --log-backtrace=FRAMES Inclou una traça en els missatges de "
+" --log-backtrace=MARCS Inclou una traça en els missatges de "
"registre\n"
-" -p, --dl-search-path=CAMI Estableix el camí de cerca "
+" -p, --dl-search-path=CAMà Estableix el camí de cerca "
"d'objectes dinàmics\n"
" compartits (plugins)\n"
-" --resample-method=METODE Utilitza el mètode de remostreig\n"
+" --resample-method=MÈTODE Utilitza el mètode de remostreig\n"
" (Per veure els valors possibles "
"utilitza --dump-resample-methods)\n"
" --use-pid-file[=BOOL] Crea un fitxer PID\n"
@@ -674,7 +559,7 @@ msgstr ""
"compartida.\n"
"\n"
"SCRIPT D'INICI:\n"
-" -L, --load=\"ARGUMENTS MODUL\" Carrega el mòdul especificat amb\n"
+" -L, --load=\"ARGUMENTS MÒDUL\" Carrega el mòdul especificat amb\n"
" els arguments especificats\n"
" -F, --file=NOMFITXER Executa l'script especificat\n"
" -C Obre una línia d'ordres en la TTY "
@@ -787,7 +672,7 @@ msgstr "Càrrega: %s\n"
#: ../src/daemon/dumpmodules.c:75
#, c-format
msgid "DEPRECATION WARNING: %s\n"
-msgstr ""
+msgstr "Advertència d'obsolescència: %s\n"
#: ../src/daemon/dumpmodules.c:79
#, c-format
@@ -872,14 +757,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Lectura del fitxer de configuració: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Alliberant els privilegis de root."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "S'han limitat les capacitats cap a CAP_SYS_NICE."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "Sistema de so PulseAudio"
@@ -888,30 +769,6 @@ msgstr "Sistema de so PulseAudio"
msgid "Start the PulseAudio Sound System"
msgstr "Inicialitza el sistema de so PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"Programació d'alta prioritat (nivell Unix nice negatiu) per al dimoni "
-"PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Programació en temps real per al dimoni PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"Les normes d'ús del sistema no permeten PulseAudio adquirir programació "
-"d'alta prioritat."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"Les normes d'ús del sistema no permeten la programació en temps real de "
-"PulseAudio."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1284,189 +1141,193 @@ msgstr "Ha fallat el parseig de les dades de la cookie"
msgid "Failed to open configuration file '%s': %s"
msgstr "S'ha produït un error en obrir el fitxer de configuració '%s': %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "No s'ha carregat cap cookie. S'està intentant connectar sense aquesta."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "S'ha rebut un missatge per a una extensió desconeguda '%s'"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "S'ha produït un error en drenar el fluxe: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Flux de reproducció drenat.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "S'està drenant la connexió amb el servidor.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "Ha fallat pa_stream_write(): %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "Ha fallat pa_stream_write(): %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "Ha fallat pa_stream_peek(): %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Flux creat correctament.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "Ha fallat pa_stream_get_buffer_attr(): %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Mètriques del búffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Mètriques del búffer: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr ""
"S'estan utilitzant les especificacions de mostreig '%s', mapejat del canal '%"
"s'.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "S'ha connectat al dispositiu %s (%u, %ssuspés).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "S'ha produït un error en l'stream: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
-msgstr "Flux del dispositiu suspés.%s\n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
+msgstr "Flux del dispositiu suspés.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
-msgstr "Flux del dispositiu représ.%s\n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
+msgstr "Flux del dispositiu représ.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
-msgstr "Dades insuficients al flux .%s\n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
+msgstr "Dades insuficients al flux.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
-msgstr "Desbordament de flux.%s\n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
+msgstr "Desbordament de flux.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
-msgstr "S'ha iniciat el flux.%s\n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
+msgstr "S'ha iniciat el flux.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
-msgstr "S'ha mogut el flux al dispositiu %s (%u, %ssuspés).%s\n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
+msgstr "S'ha mogut el flux al dispositiu %s (%u, %ssuspés).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
-msgstr "no"
+msgstr "no "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
-msgstr "Atributs del fluxe de la memòria intermèdia canviats.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
+msgstr "Els atributs del flux de memòria intermèdia han canviat.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
-msgstr "S'ha establert la connexió.%s\n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
+msgstr "S'ha establert la connexió.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "Ha fallat pa_stream_new(): %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "Ha fallat pa_stream_connect_playback(): %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "Ha fallat pa_stream_connect_record(): %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Ha fallat la connexió: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "S'ha llegit EOF.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "Ha fallat read(): %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "S'ha llegit EOF.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "Ha fallat write(): %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "S'ha rebut un senyal, s'està sortint.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "No s'ha pogut obtenir la latència: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
-msgstr "Temps: %0.3f segs; Latència: %0.0f microsegs.\r"
+msgstr "Temps: %0.3f segs; Latència: %0.0f microsegs. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "Ha fallat pa_stream_update_timing_info(): %s\n"
#: ../src/utils/pacat.c:605
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options]\n"
"\n"
@@ -1542,7 +1403,8 @@ msgstr ""
"connectar-se\n"
" -n, --client-name=NOM Com cridar aquest client al "
"servidor\n"
-" --stream-name=NOM Com cridar aquest flux al servidor\n"
+" --stream-name=NOM Com cridar aquest flux de dades al "
+"servidor\n"
" --volume=VOLUM Especifica el volum inicial lineal "
"dins el rang 0...65536\n"
" --rate=VELOCITATMOSTREIG La velocitat de mostreig en Hz (per "
@@ -1555,7 +1417,7 @@ msgstr ""
"per a estèreo\n"
" (per omissió, 2)\n"
" --channel-map=MAPACANAL Mapa de canals a utilitzar\n"
-" --fix-format Pren el format de mostra del "
+" --format-fix Pren el format de mostra del "
"conducte al qual s'està connectant\n"
" el flux.\n"
" --fix-rate Pren la velocitat de mostreig del "
@@ -1564,13 +1426,21 @@ msgstr ""
" --fix-channels Pren el número de canals i el mapa "
"de canals del\n"
" conducte al qual s'està connectant "
-"el flux.\n"
+"el flux de dades.\n"
" --no-remix No barregis els canals.\n"
" --no-remap Mapeja els canals per índex en "
"comptes de per nom .\n"
-" --latency=BYTES Sol·licita la latència en bytes.\n"
+" --latencia=BYTES Sol·licita la latència en bytes.\n"
" --process-time=BYTES Sol·licita el temps de procés per "
"petició en bytes.\n"
+" --property=PROPIETAT=VALOR Establir la propietat especificada "
+"per al valor especificat.\n"
+" --raw Gravació/reproducció de dades crues "
+"PCM.\n"
+" --format-fitxer=FFORMAT Gravació/reproducció de dades amb "
+"format PCM.\n"
+" --list-file-formats Llista disponible de formats de "
+"fitxer.\n"
#: ../src/utils/pacat.c:727
#, c-format
@@ -1583,97 +1453,108 @@ msgstr ""
"Compilat amb libpulse %s\n"
"Enllaçat amb libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
-msgstr "Mapa de canals invàlid '%s'\n"
+msgid "Invalid client name '%s'"
+msgstr "Nom del client invàlid '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
-msgstr "Mètode de remostratge invàlid '%s'."
+msgid "Invalid stream name '%s'"
+msgstr "Nom de flux de dades invàlid '%s'\n"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Mapa de canals invàlid '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Especificació de latència invàlida '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Especificació de temps de procés invàlida '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
-msgstr "Mètode de remostratge invàlid '%s'."
+msgid "Invalid property '%s'"
+msgstr "Propietat invàlida '%s'\n"
#: ../src/utils/pacat.c:878
#, c-format
msgid "Unknown file format %s."
-msgstr ""
+msgstr "Format desconegut de fitxer %s."
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Especificació de mostra invàlida\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
-msgstr "Hi han massa arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
+msgstr "Massa arguments.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
-msgstr "No s'ha pogut obtenir informació de la mostra: %s\n"
+msgid "Failed to generate sample specification for file."
+msgstr "No s'ha pogut obtenir informació del fitxer.\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "No s'ha pogut obrir el fitxer de so.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
+"specification from file."
msgstr ""
+"Advertència: l'especificació de mostra especificada se sobreescriurà amb "
+"l'especificació del fitxer.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
-msgstr "No s'ha pogut obtenir informació de la mostra: %s\n"
+msgid "Failed to determine sample specification from file."
+msgstr "No s'ha pogut determinar l'especificació de mostra del fitxer.\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
msgstr ""
+"Advertència: no s'ha pogut determinar el mapeig de canals des del fitxer.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "El mapa de canals no coincideix amb l'especificació de mostra\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Advertència: no s'ha pogut escriure el mapa de canals en un fitxer.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
-msgstr "S'està obrint un flux %s amb especificació de mostra '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
+msgstr ""
+"S'està obrint un flux de dades %s amb especificació de mostra '%s' i mapa de "
+"canals '%s'.\n"
#: ../src/utils/pacat.c:1006
msgid "recording"
@@ -1683,36 +1564,35 @@ msgstr "enregistrant"
msgid "playback"
msgstr "reproducció"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
-msgstr "Ha fallat pa_mainloop_new().\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
+msgstr "Ha fallat el pa_mainloop_new().\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
-msgstr "Ha fallat io_new().\n"
+#, fuzzy
+msgid "io_new() failed."
+msgstr "Ha fallat el io_new().\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
-msgstr "Ha fallat pa_context_new().\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
+msgstr "Ha fallat el pa_context_new().\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "Ha fallat pa_context_connect(): %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "Ha fallat time_new().\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "Ha fallat el pa_context_new().\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
-msgstr "Ha fallat pa_mainloop_run().\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
+msgstr "Ha fallat el pa_mainloop_run().\n"
#: ../src/utils/pasuspender.c:81
#, c-format
@@ -1739,6 +1619,11 @@ msgstr "No s'ha pogut en rependre: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "ADVERTÈNCIA: el sevidor de so no és local, no s'està suspenent.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Ha fallat la connexió: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1779,6 +1664,21 @@ msgstr ""
"Compilat amb libpulse %s\n"
"Enllaçat amb libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "Ha fallat el pa_mainloop_new().\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "Ha fallat el pa_context_new().\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "Ha fallat el pa_mainloop_run().\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1874,14 +1774,14 @@ msgstr ""
"\t\t%s\n"
#: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353
-#, fuzzy, c-format
+#, c-format
msgid "\tPorts:\n"
-msgstr "\tPerfils:\n"
+msgstr "\tPorts:\n"
#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359
-#, fuzzy, c-format
+#, c-format
msgid "\tActive Port: %s\n"
-msgstr "\tPerfil actiu: %s\n"
+msgstr "\tPort actiu: %s\n"
#: ../src/utils/pactl.c:290
#, c-format
@@ -1933,7 +1833,7 @@ msgstr ""
#: ../src/utils/pactl.c:587 ../src/utils/pactl.c:630 ../src/utils/pactl.c:631
#: ../src/utils/pactl.c:638
msgid "n/a"
-msgstr "n/d"
+msgstr "n/a"
#: ../src/utils/pactl.c:368
#, c-format
@@ -2136,7 +2036,7 @@ msgid "Premature end of file\n"
msgstr "S'ha trobat un fi de fitxer prematurament\n"
#: ../src/utils/pactl.c:826
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options] stat\n"
"%s [options] list\n"
@@ -2170,18 +2070,19 @@ msgstr ""
"%s [opcions] remove-sample NOM\n"
"%s [opcions] move-sink-input ID CONDUCTE\n"
"%s [opcions] move-source-output ID FONT\n"
-"%s [opcions] load-module NOM [ARGS ...]\n"
+"%s [opcions] load-module NOM [ARGUMENTS ...]\n"
"%s [opcions] unload-module ID\n"
"%s [opcions] suspend-sink [CONDUCTE] 1|0\n"
"%s [opcions] suspend-source [FONT] 1|0\n"
"%s [opcions] set-card-profile [TARGETA] [PERFIL] \n"
+"%s [opcions] set-sink-port [CONDUCTE] [PORT] \n"
+"%s [opcions] set-source-port [FONT] [PORT] \n"
"\n"
" -h, --help Mostra aquesta ajuda\n"
" --version Mostra la versió\n"
"\n"
-" -s, --server=SERVIDOR Nom del servidor al qual connectar-"
-"se\n"
-" -n, --client-name=NOM Com cridar aquest client al "
+" -s, --server=SERVER Nom del servidor on connectar-s'hi\n"
+" -n, --client-name=NAME Com cridar aquest client en el "
"servidor\n"
#: ../src/utils/pactl.c:880
@@ -2195,6 +2096,11 @@ msgstr ""
"Compilat amb libpulse %s\n"
"Enllaçat amb libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Nom del client invàlid '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Especifiqueu un fitxer de mostra per a carregar\n"
@@ -2203,10 +2109,15 @@ msgstr "Especifiqueu un fitxer de mostra per a carregar\n"
msgid "Failed to open sound file.\n"
msgstr "No s'ha pogut obrir el fitxer de so.\n"
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr "No s'ha pogut determinar l'especificació de mostra del fitxer.\n"
+
#: ../src/utils/pactl.c:951
-#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
-msgstr "S'està obrint un flux %s amb especificació de mostra '%s'.\n"
+msgstr ""
+"Advertència: No s'ha pogut determinar l'especificació de mostra a partir del "
+"fitxer.\n"
#: ../src/utils/pactl.c:961
msgid "You have to specify a sample name to play\n"
@@ -2214,7 +2125,7 @@ msgstr "Heu d'especificar un nom de mostra a reproduir\n"
#: ../src/utils/pactl.c:973
msgid "You have to specify a sample name to remove\n"
-msgstr "Heu d'especificar un nom de mostra a esborrar\n"
+msgstr "Heu d'especificar un nom de mostra a suprimir\n"
#: ../src/utils/pactl.c:982
msgid "You have to specify a sink input index and a sink\n"
@@ -2252,24 +2163,17 @@ msgid "You have to specify a card name/index and a profile name\n"
msgstr "Heu d'especificar un nom o un índex de targeta i un nom de perfil\n"
#: ../src/utils/pactl.c:1073
-#, fuzzy
msgid "You have to specify a sink name/index and a port name\n"
-msgstr "Heu d'especificar un nom o un índex de targeta i un nom de perfil\n"
+msgstr "Heu d'especificar un nom o un índex de conducte i un nom de port\n"
#: ../src/utils/pactl.c:1084
-#, fuzzy
msgid "You have to specify a source name/index and a port name\n"
-msgstr "Heu d'especificar un nom o un índex de targeta i un nom de perfil\n"
+msgstr "Heu d'especificar un nom o un índex de font i un nom de port\n"
#: ../src/utils/pactl.c:1099
msgid "No valid command specified.\n"
msgstr "S'ha especificat una ordre invàlida.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "Ha fallat pa_context_connect(): %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2354,6 +2258,8 @@ msgstr "Encara no s'ha implementat.\n"
#: ../src/utils/pacmd.c:61
msgid "No PulseAudio daemon running, or not running as session daemon."
msgstr ""
+"El dimoni PulseAudio no s'està executant, o no s'està executant com a dimoni "
+"de la sessió."
#: ../src/utils/pacmd.c:66
#, c-format
@@ -2388,11 +2294,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "No s'ha pogut accedir al bloqueig d'autospawn."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2406,10 +2312,10 @@ msgstr ""
"havia res a escriure!\n"
"Probablement es tracta d'un error del controlador de l'ALSA '%s'. Informeu "
"d'aquest problema als desenvolupadors de l'ALSA.\n"
-"Ens han cridat mitjançant POLLOUT set -- tammateix una crida posterior de "
+"Ens han aixecat amb POLLOUT activat -- tanmateix una crida posterior a "
"snd_pcm_avail() ha retornat 0 o un altre valor < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2423,19 +2329,19 @@ msgstr ""
"res a llegir!\n"
"Probablement es tracta d'un error de la controladora '%s' de l'ALSA. "
"Reporteu aquest problema als desenvolupadors de l'ALSA.\n"
-"Ens ha cridat mitjançant POLLIN set -- tammateix una ordre posterior "
+"Ens han aixecat amb POLLIN activat -- tanmateix una crida posterior a "
"snd_pcm_avail() ha retornat 0 o un altre valor < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Inactiu"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Reproducció d'alta fidelitat (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Dúplex de telefonia (HSP/HFP)"
@@ -2443,6 +2349,140 @@ msgstr "Dúplex de telefonia (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "Servidor de so PulseAudio"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "No s'ha pogut connectar al bus del sistema: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "No s'ha pogut obtenir una crida del PID: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "No s'ha pogut especificar l'UID en l'objecte crida."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "No s'ha pogut obtenir la sessió CK."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "No s'ha pogut definir l'UID en l'objecte sessió."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "No s'ha pogut assignar PolKitAction."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "No s'ha pogut definir action_id"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "No s'ha pogut assignar PolKitContext."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "No s'ha pogut inicialitzar PolKitContext: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "No s'ha pogut determinar si la crida està autoritzada: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "No s'ha pogut obtenir l'autorització: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit ha respós '%s'"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Programació d'alta prioritat (nivell Unix nice negatiu) per al dimoni "
+#~ "PulseAudio"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Programació en temps real per al dimoni PulseAudio"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Les normes d'ús del sistema no permeten PulseAudio adquirir programació "
+#~ "d'alta prioritat."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "Les normes d'ús del sistema no permeten la programació en temps real de "
+#~ "PulseAudio."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "Ha fallat read(): %s\n"
+
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "Ha fallat el pa_context_connect(): %s\n"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Aquesta aplicació està en el grup '%s', s'està establint la prioritat "
+#~ "alta."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "Aquesta aplicació està en el grup '%s', s'està establint la prioritat en "
+#~ "temps real."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit ha permés el privilegi acquire-high-priority."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit ha rebutjat el privilegi acquire-high-priority."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit ha permés el privilegi acquire-real-time."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit ha rebutjat el privilegi acquire-real-time."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "S'ha demanat SUID de root i una planificació de temps real i/o d'alta "
+#~ "prioritat. Tanmateix, falten els privilegis necessaris:\n"
+#~ "No es pertany al grup '%s'. PolicyKit no atorga els privilegis demanats i "
+#~ "no s'ha incrementat els límits de recursos RLIMIT_NICE/RLIMIT_RTPRIO.\n"
+#~ "Per habilitar la planificació en temps real o d'alta prioritat, heu "
+#~ "d'obtenir els privilegis de PolicyKit adequats, o pertànyer al grup '%s', "
+#~ "o incrementar els límits de recursos de RLIMIT_NICE/RLIMIT_RTPRIO per a "
+#~ "aquest usuari."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "La prioritat alta està habilitada en la configuració però no està permesa "
+#~ "per la política."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "S'ha incrementat el valor de RLIMIT_RTPRIO amb éxit."
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "S'ha produït un error amb RLIMIT_RTPRIO: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "S'abandona CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "La prioritat de temps real està habilitada en la configuració però no "
+#~ "està permesa per la política."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "S'han limitat les capacitats cap a CAP_SYS_NICE."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "Ha fallat el time_new().\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Mono analògic"
diff --git a/po/cs.po b/po/cs.po
index 51ce0850..8971ee06 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,17 +7,22 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
-"PO-Revision-Date: 2009-05-03 23:57+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
+"PO-Revision-Date: 2009-07-07 20:37+0200\n"
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 0.3\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -30,7 +35,7 @@ msgstr ""
"S nejvÄ›tší pravdÄ›podobností se jedná o chybu v ovladaÄi ALSA \"%s\". "
"Nahlaste prosím tento problém vývojářům ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -43,7 +48,7 @@ msgstr ""
"S nejvÄ›tší pravdÄ›podobností se jedná o chybu v ovladaÄi ALSA \"%s\". "
"Nahlaste prosím tento problém vývojářům ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -58,7 +63,7 @@ msgstr ""
#: ../src/modules/module-ladspa-sink.c:49
msgid "Virtual LADSPA sink"
-msgstr ""
+msgstr "Virtuální cíl LADSPA"
#: ../src/modules/module-ladspa-sink.c:53
msgid ""
@@ -68,8 +73,13 @@ msgid ""
"plugin name> label=<ladspa plugin label> control=<comma seperated list of "
"input control values>"
msgstr ""
+"sink_name=<název cíle> sink_properties=<vlastnosti cíle> master=<název "
+"filtrovaného cíle> format=<vzorkovací formát> rate=<vzorkovací frekvence> "
+"channels=<poÄet kanálů> channel_map=<mapa kanálů> plugin=<název zásuvného "
+"modulu ladspa> label=<popisek zásuvného modulu ladspa> control=<Äárkou "
+"oddělený seznam hodnot ovládání vstupu>"
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Vnitřní zvukový systém"
@@ -89,218 +99,92 @@ msgstr "Nezdařilo se přidělení nového nahrávacího programu dl."
msgid "Failed to add bind-now-loader."
msgstr "Nezdařilo se přidat bind-now-loader."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Nelze se spojit se systémovou sběrnicí: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Nelze získat volajícího z PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Nelze nastavit UID na objekt volajícího."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Nezdařilo se získání sezení CK."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Nelze nastavit UID na objekt sezení."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Nelze alokovat PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Nelze nastavit action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Nelze alokovat PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Nelze spustit PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "NezdaÅ™ilo se urÄit, zda je volající oprávnÄ›n: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Nezdařilo se získat oprávnění: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit odpověděl s \"%s\""
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Získán signál %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "UkonÄování."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Nezdařilo se nalézt uživatele \"%s\"."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Nezdařilo se nalézt skupinu \"%s\"."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Nalezen uživatel \"%s\" (UID %lu) a skupina \"%s\" (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID uživatele \"%s\" a skupiny \"%s\" nesouhlasí."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Domovský adresář uživatele \"%s\" není \"%s\", bude ignorováno."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Nezdařilo se vytvořit \"%s\": %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Nezdařilo se změnit seznam skupin: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Nezdařilo se změnit GID: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Nezdařilo se změnit UID: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Oprávnění superuživatele úspěšně zrušena."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Režim celého systému není na této platformě podporován."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) selhalo: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Nezdařila se analýza příkazového řádku."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Nacházíme se ve skupině \"%s\", což umožňuje plánování o vysoké prioritě."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "Nacházíme se ve skupinÄ› \"%s\", což umožňuje plánování v reálném Äase."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit nám udělil oprávnění acquire-high-priority."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit nám neudělil oprávnění acquire-high-priority."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit nám udělil oprávnění acquire-real-time."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit nám neudělil oprávnění acquire-real-time."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Voláno SUID root a v nastavení bylo požádáno o plánování v reálném Äase Äi o "
-"vysoké prioritě. Schází nám ovšem potřebná oprávnění.\n"
-"Nejsme ve skupině \"%s\", PolicyKit nám odmítá přidělit požadovaná oprávnění "
-"a je nutné zvýšit omezení zdroje RLIMIT_NICE/RLIMIT_RTPRIO.\n"
-"Plánování v reálném Äase Äi o vysoké prioritÄ› zapnete získáním přísluÅ¡ných "
-"oprávnÄ›ní PolicyKit, nebo tím, že se stanete Äleny \"%s\", nebo uživateli "
-"zvýšíte omezení zdroje RLIMIT_NICE/RLIMIT_RTPRIO."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Plánování o vysoké prioritě v konfiguraci zapnuto, ale nepovoleno pravidly."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "Úspěšně zvýšeno RLIMIT_RTPRIO"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO selhalo: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Vzdávání se CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Plánování v reálném Äase v konfiguraci zapnuto, ale nepovoleno pravidly."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Démon neběží"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Démon běží jako PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Zabití démona se nezdařilo: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -308,150 +192,150 @@ msgstr ""
"Tento program není urÄen ke spuÅ¡tÄ›ní pod superuživatelem (není-li zadáno --"
"system)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Jsou vyžadována oprávnění superuživatele."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start nepodporováno u systémových instancí."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "Běží v systémovém režimu, ale nenastaveno --disallow-exit!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "Běží v systémovém režimu, ale nenastaveno --disallow-module-loading!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "Běží v systémovém režimu, vynuceně se vypíná režim SHM!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "Běží v systémovém režimu, vynucenÄ› se vypíná Äas neÄinnosti ukonÄení!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Nezdařilo se získání stdio."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe selhalo: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() selhalo: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() selhalo: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Spuštění démona selhalo."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Spuštění démona bylo úspěšné."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Toto je PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "PÅ™ekladový poÄítaÄ: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "Překladové CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Běží na poÄítaÄi: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Nalezen následující poÄet CPU: %u."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Velikost stránky je %lu bajtů"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Přeloženo s podporou Valgrind: ano"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Přeloženo s podporou Valgrind: ne"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Běží v režimu valgrind: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimalizované sestavení: ano"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Optimalizované sestavení: ne"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG definováno, všechny výrazy zakázány."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH definováno, zakázány pouze výrazy rychlých cest."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Všechny výrazy povoleny."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "NezdaÅ™ilo se získání ID poÄítaÄe"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "ID poÄítaÄe je %s."
-#: ../src/daemon/main.c:917
-#, fuzzy, c-format
+#: ../src/daemon/main.c:770
+#, c-format
msgid "Session ID is %s."
-msgstr "ID poÄítaÄe je %s."
+msgstr "ID sezení je %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Používán běhový adresář %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Používán stavový adresář %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Běží v systémovém režimu: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -460,17 +344,23 @@ msgid ""
"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an "
"explanation why system mode is usually a bad idea."
msgstr ""
-
-#: ../src/daemon/main.c:951
+"Dobrá, máte tedy PA spuštěn v systémovém režimu. Vemte prosím na vědomí, že "
+"k tomuto by až na výjimeÄné situace nÄ›melo docházet.\n"
+"Pokud v této Äinnosti pÅ™esto budete pokraÄovat, nesete riziko za možné "
+"špatné a nepředvídatelné chování systému.\n"
+"VysvÄ›tlení, proÄ je systémový režim obvykle velmi Å¡patný nápad, si můžete "
+"pÅ™eÄíst na http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode."
+
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() selhalo."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr ""
"Jsou dostupné výteÄné ÄasovaÄe o vysokém rozliÅ¡ení. Tak s chutí do toho!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -478,27 +368,27 @@ msgstr ""
"Sorry, vole, kernel error! Tip šéfkuchaře na dnešní den zní: Linux se "
"zapnutými ÄasovaÄi o vysokém rozliÅ¡ení."
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() selhalo."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Selhalo spuštění démona."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Spuštění démona bez jakýchkoliv nahraných modulů, běh bude odmítnut."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "SpuÅ¡tÄ›ní démona dokonÄeno."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Vypínání démona spuštěno."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Démon ukonÄen."
@@ -752,7 +642,7 @@ msgstr "NaÄíst jednou: %s\n"
#: ../src/daemon/dumpmodules.c:75
#, c-format
msgid "DEPRECATION WARNING: %s\n"
-msgstr ""
+msgstr "VAROVÃNÃ ZASTARALOSTI: %s\n"
#: ../src/daemon/dumpmodules.c:79
#, c-format
@@ -837,14 +727,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### ÄŒtení z konfiguraÄního souboru: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Rušení superuživatelských oprávnění."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "Schopnosti úspěšně omezeny na CAP_SYS_NICE."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "Zvukový systém PulseAudio"
@@ -853,29 +739,6 @@ msgstr "Zvukový systém PulseAudio"
msgid "Start the PulseAudio Sound System"
msgstr "Spustit zvukový systém PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"Plánování o vysoké prioritě (záporná úroveň nice v Unixu) démona PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Plánování v reálném Äase démona PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"Systémová pravidla znemožňují technologii PulseAudio získat přístup k "
-"plánování o vysoké prioritě."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"Systémová pravidla znemožňují technologii PulseAudio získat přístup k "
-"plánování v reálném Äase."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1248,188 +1111,192 @@ msgstr "Selhala analýza dat cookie"
msgid "Failed to open configuration file '%s': %s"
msgstr "Selhalo otevÅ™ení konfiguraÄního souboru \"%s\": %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Žádný soubor cookie nenahrán. Pokus o spojení bez tohoto kroku."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Přijata zpráva pro neznámé rozšíření \"%s\""
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Nezdařilo se vyprázdnit proud: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Proud přehrávání vyprázdněn.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Vyprazdňování spojení se serverem.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() selhalo: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() selhalo: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() selhalo: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Proud úspěšně vytvořen.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() selhalo: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr ""
"Metrika vyrovnávací paměti: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Metrika vyrovnávací paměti: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
-msgstr "Používána vzorkovací specifikace \"%s\", mapa kanálů \"%s\".\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
+msgstr "Používáno urÄení vzorku \"%s\", mapa kanálů \"%s\".\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "Připojeno k zařízení %s (%u, %ssuspended).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Chyba proudu: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Proudové zařízení pozastaveno.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Proudové zařízení obnoveno.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Podběhnutí proudu.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Přeběhnutí proudu.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Proud spuštěn.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Proud přesunut na zařízení %s (%u, %ssuspended).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "nikoliv "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "Změněny atributy vyrovnávací paměti proudu.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Spojení navázáno.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() selhalo: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() selhalo: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() selhalo: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Spojení selhalo: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Získáno EOF.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() selhalo: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "Získáno EOF.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() selhalo: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Získán signál, ukonÄování.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Nezdařilo se získat latenci: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Čas: %0.3f sekund; latence: %0.0f μs. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() selhalo: %s\n"
#: ../src/utils/pacat.c:605
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options]\n"
"\n"
@@ -1531,6 +1398,13 @@ msgstr ""
" --latency=BAJTY Vyžádá urÄenou latenci v bajtech.\n"
" --process-time=BAJTY Vyžádá urÄený Äas zpracování na "
"požadavek v bajtech.\n"
+" --property=VLASTNOST=HODNOTA Nastaví urÄenou vlastnost na urÄenou "
+"hodnotu.\n"
+" --raw Nahrává/přehrává surová data PCM.\n"
+" --file-format=FORMÃT Nahrává/pÅ™ehrává formátovaná data "
+"PCM.\n"
+" --list-file-formats Zobrazí seznam dostupných formátů "
+"souborů.\n"
#: ../src/utils/pacat.c:727
#, c-format
@@ -1543,97 +1417,104 @@ msgstr ""
"Přeloženo s libpulse %s\n"
"Propojeno s libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
-msgstr "Neplatná mapa kanálů \"%s\"\n"
+msgid "Invalid client name '%s'"
+msgstr "Neplatný název klienta \"%s\"\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
-msgstr "Neplatná metoda převzorkování \"%s\"."
+msgid "Invalid stream name '%s'"
+msgstr "Neplatný název proudu \"%s\"\n"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Neplatná mapa kanálů \"%s\"\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Neplatné upřesnění latence \"%s\"\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Neplatné upÅ™esnÄ›ní Äasu zpracování \"%s\"\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
-msgstr "Neplatná metoda převzorkování \"%s\"."
+msgid "Invalid property '%s'"
+msgstr "Neplatná vlastnost \"%s\"\n"
#: ../src/utils/pacat.c:878
#, c-format
msgid "Unknown file format %s."
-msgstr ""
+msgstr "Neznámý formát souboru %s."
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
-msgstr "Neplatné upřesnění vzorkování\n"
+#, fuzzy
+msgid "Invalid sample specification"
+msgstr "Neplatné urÄení vzorku\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Příliš mnoho argumentů.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
-msgstr "Selhalo získání informace o vzorku: %s\n"
+msgid "Failed to generate sample specification for file."
+msgstr "Selhalo vytvoÅ™ení urÄení vzorku souboru.\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Selhalo otevření zvukového souboru.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
+"specification from file."
msgstr ""
+"Varování: zadané urÄení vzorku bude pÅ™epsáno urÄením získaným ze souboru.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
-msgstr "Selhalo získání informace o vzorku: %s\n"
+msgid "Failed to determine sample specification from file."
+msgstr "Selhalo zjiÅ¡tÄ›ní urÄení vzorku ze souboru.\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Varování: Selhalo zjištění mapy kanálů ze souboru.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
-msgstr "Mapa kanálů se neshoduje s upřesněním vzorkování\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
+msgstr "Mapa kanálů se neshoduje s urÄením vzorku\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Varování: selhal zápis mapy kanálů do souboru.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
-msgstr "Otevírání proudu %s s upřesněním vzorkování \"%s\".\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
+msgstr "Otevírání proudu %s s urÄením vzorku \"%s\" a mapou kanálů \"%s\".\n"
#: ../src/utils/pacat.c:1006
msgid "recording"
@@ -1643,35 +1524,34 @@ msgstr "nahrávání"
msgid "playback"
msgstr "přehrávání"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() selhalo.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() selhalo.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() selhalo.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() selhalo: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() selhalo.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() selhalo.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() selhalo.\n"
#: ../src/utils/pasuspender.c:81
@@ -1699,6 +1579,11 @@ msgstr "Nezdařilo se obnovení: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "VAROVÃNÃ: Zvukový server není místní, nedojde k pozastavení.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Spojení selhalo: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1738,6 +1623,21 @@ msgstr ""
"Přeloženo s libpulse %s\n"
"Propojeno s libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() selhalo.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() selhalo.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() selhalo.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1780,7 +1680,7 @@ msgstr ""
"Název poÄítaÄe: %s\n"
"Název serveru: %s\n"
"Verze serveru: %s\n"
-"Výchozí upřesnění vzorkování: %s\n"
+"Výchozí urÄení vzorku: %s\n"
"Výchozí mapa kanálů: %s\n"
"Výchozí cíl: %s\n"
"Výchozí zdroj: %s\n"
@@ -1817,7 +1717,7 @@ msgstr ""
"\tNázev: %s\n"
"\tPopis: %s\n"
"\tOvladaÄ: %s\n"
-"\tUpřesnění vzorkování: %s\n"
+"\tUrÄení vzorku: %s\n"
"\tMapa kanálů: %s\n"
"\tModul vlastníka: %u\n"
"\tZtlumení: %s\n"
@@ -1831,14 +1731,14 @@ msgstr ""
"\t\t%s\n"
#: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353
-#, fuzzy, c-format
+#, c-format
msgid "\tPorts:\n"
-msgstr "\tProfily:\n"
+msgstr "\tPorty:\n"
#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359
-#, fuzzy, c-format
+#, c-format
msgid "\tActive Port: %s\n"
-msgstr "\tAktivní profil: %s\n"
+msgstr "\tAktivní port: %s\n"
#: ../src/utils/pactl.c:290
#, c-format
@@ -1871,7 +1771,7 @@ msgstr ""
"\tNázev: %s\n"
"\tPopis: %s\n"
"\tOvladaÄ: %s\n"
-"\tUpřesnění vzorkování: %s\n"
+"\tUrÄení vzorku: %s\n"
"\tMapa kanálů: %s\n"
"\tModul vlastníka: %u\n"
"\tZtlumení: %s\n"
@@ -1996,7 +1896,7 @@ msgstr ""
"\tModul vlastníka: %s\n"
"\tKlient: %s\n"
"\tCíl: %u\n"
-"\tUpřesnění vzorkování: %s\n"
+"\tUrÄení vzorku: %s\n"
"\tMapa kanálů: %s\n"
"\tZtlumení: %s\n"
"\tHlasitost: %s\n"
@@ -2034,7 +1934,7 @@ msgstr ""
"\tModul vlastníka: %s\n"
"\tKlient: %s\n"
"\tZdroj: %u\n"
-"\tUpřesnění vzorkování: %s\n"
+"\tUrÄení vzorku: %s\n"
"\tMapa kanálů: %s\n"
"\tLatence vyrovnávací paměti: %0.0f μs\n"
"\tLatence zdroje: %0.0f μs\n"
@@ -2066,7 +1966,7 @@ msgid ""
msgstr ""
"Vzorek Ä. %u\n"
"\tNázev: %s\n"
-"\tUpřesnění vzorkování: %s\n"
+"\tUrÄení vzorku: %s\n"
"\tMapa kanálů: %s\n"
"\tHlasitost: %s\n"
"\t %s\n"
@@ -2093,7 +1993,7 @@ msgid "Premature end of file\n"
msgstr "PÅ™edÄasný konec souboru\n"
#: ../src/utils/pactl.c:826
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options] stat\n"
"%s [options] list\n"
@@ -2132,6 +2032,8 @@ msgstr ""
"%s [pÅ™epínaÄe] suspend-sink [CÃL] 1|0\n"
"%s [pÅ™epínaÄe] suspend-source [ZDROJ] 1|0\n"
"%s [pÅ™epínaÄe] set-card-profile [KARTA] [PROFIL] \n"
+"%s [pÅ™epínaÄe] set-sink-port [CÃL] [PORT] \n"
+"%s [pÅ™epínaÄe] set-source-port [ZDROJ] [PORT] \n"
"\n"
" -h, --help Zobrazí tuto nápovědu\n"
" --version Zobrazí verzi\n"
@@ -2151,6 +2053,11 @@ msgstr ""
"Přeloženo s libpulse %s\n"
"Propojeno s libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Neplatný název klienta \"%s\"\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Zadejte prosím soubor se vzorkem urÄeným k nahrání\n"
@@ -2159,10 +2066,13 @@ msgstr "Zadejte prosím soubor se vzorkem urÄeným k nahrání\n"
msgid "Failed to open sound file.\n"
msgstr "Selhalo otevření zvukového souboru.\n"
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Selhalo zjiÅ¡tÄ›ní urÄení vzorku ze souboru.\n"
+
#: ../src/utils/pactl.c:951
-#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
-msgstr "Otevírání proudu %s s upřesněním vzorkování \"%s\".\n"
+msgstr "Varování: Selhalo zjiÅ¡tÄ›ní urÄení vzorku ze souboru.\n"
#: ../src/utils/pactl.c:961
msgid "You have to specify a sample name to play\n"
@@ -2206,24 +2116,17 @@ msgid "You have to specify a card name/index and a profile name\n"
msgstr "Je nutné upřesnit název karty/indexu a název profilu\n"
#: ../src/utils/pactl.c:1073
-#, fuzzy
msgid "You have to specify a sink name/index and a port name\n"
-msgstr "Je nutné upřesnit název karty/indexu a název profilu\n"
+msgstr "Je nutné upřesnit název cíle/indexu a název portu\n"
#: ../src/utils/pactl.c:1084
-#, fuzzy
msgid "You have to specify a source name/index and a port name\n"
-msgstr "Je nutné upřesnit název karty/indexu a název profilu\n"
+msgstr "Je nutné upřesnit název zdroje/indexu a název portu\n"
#: ../src/utils/pactl.c:1099
msgid "No valid command specified.\n"
msgstr "Nezadán žádný platný příkaz.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() selhalo: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2305,7 +2208,7 @@ msgstr "Doposud neimplementováno.\n"
#: ../src/utils/pacmd.c:61
msgid "No PulseAudio daemon running, or not running as session daemon."
-msgstr ""
+msgstr "Neběží žádný démon PulseAudio, nebo neběží jako démon sezení."
#: ../src/utils/pacmd.c:66
#, c-format
@@ -2340,11 +2243,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Nelze přistoupit k zámku automatického spouštění."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2361,7 +2264,7 @@ msgstr ""
"Probudilo nás nastavení POLLOUT - nicméně následné snd_pcm_avail() vrátilo 0 "
"Äi jinou hodnotu < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2379,15 +2282,15 @@ msgstr ""
"Äi jinou hodnotu < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Vypnuto"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Přehrávání s velmi věrnou reprodukcí (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Duplexní telefonie (HSP/HFP)"
@@ -2395,6 +2298,136 @@ msgstr "Duplexní telefonie (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "Zvukový server PulseAudio"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Nelze se spojit se systémovou sběrnicí: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Nelze získat volajícího z PID: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Nelze nastavit UID na objekt volajícího."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Nezdařilo se získání sezení CK."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Nelze nastavit UID na objekt sezení."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Nelze alokovat PolKitAction."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Nelze nastavit action_id"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Nelze alokovat PolKitContext."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Nelze spustit PolKitContext: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "NezdaÅ™ilo se urÄit, zda je volající oprávnÄ›n: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Nezdařilo se získat oprávnění: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit odpověděl s \"%s\""
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Plánování o vysoké prioritě (záporná úroveň nice v Unixu) démona "
+#~ "PulseAudio"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Plánování v reálném Äase démona PulseAudio"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Systémová pravidla znemožňují technologii PulseAudio získat přístup k "
+#~ "plánování o vysoké prioritě."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "Systémová pravidla znemožňují technologii PulseAudio získat přístup k "
+#~ "plánování v reálném Äase."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() selhalo: %s\n"
+
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() selhalo: %s\n"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Nacházíme se ve skupině \"%s\", což umožňuje plánování o vysoké prioritě."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "Nacházíme se ve skupinÄ› \"%s\", což umožňuje plánování v reálném Äase."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit nám udělil oprávnění acquire-high-priority."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit nám neudělil oprávnění acquire-high-priority."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit nám udělil oprávnění acquire-real-time."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit nám neudělil oprávnění acquire-real-time."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Voláno SUID root a v nastavení bylo požádáno o plánování v reálném Äase "
+#~ "Äi o vysoké prioritÄ›. Schází nám ovÅ¡em potÅ™ebná oprávnÄ›ní.\n"
+#~ "Nejsme ve skupině \"%s\", PolicyKit nám odmítá přidělit požadovaná "
+#~ "oprávnění a je nutné zvýšit omezení zdroje RLIMIT_NICE/RLIMIT_RTPRIO.\n"
+#~ "Plánování v reálném Äase Äi o vysoké prioritÄ› zapnete získáním "
+#~ "přísluÅ¡ných oprávnÄ›ní PolicyKit, nebo tím, že se stanete Äleny \"%s\", "
+#~ "nebo uživateli zvýšíte omezení zdroje RLIMIT_NICE/RLIMIT_RTPRIO."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "Plánování o vysoké prioritě v konfiguraci zapnuto, ale nepovoleno "
+#~ "pravidly."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "Úspěšně zvýšeno RLIMIT_RTPRIO"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO selhalo: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Vzdávání se CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "Plánování v reálném Äase v konfiguraci zapnuto, ale nepovoleno pravidly."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "Schopnosti úspěšně omezeny na CAP_SYS_NICE."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() selhalo.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Analogové mono"
diff --git a/po/de.po b/po/de.po
index dd96f71c..17507a2d 100644
--- a/po/de.po
+++ b/po/de.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the pulseaudio package.
#
# Fabian Affolter <fab@fedoraproject.org>, 2008-2009.
-# Micha Pietsch <barney@fedoraproject.org>, 2008
+# Micha Pietsch <barney@fedoraproject.org>, 2008, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-18 12:43+0100\n"
"Last-Translator: Fabian Affolter <fab@fedoraproject.org>\n"
"Language-Team: German <fedora-trans-de@redhat.com>\n"
@@ -19,7 +19,12 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Language: German\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -32,7 +37,7 @@ msgstr ""
"Dies ist wahrscheinlich ein Fehler im ALSA-Treiber '%s'. Bitte melden Sie "
"diesen Punkt den ALSA-Entwicklern."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -45,7 +50,7 @@ msgstr ""
"Dies ist wahrscheinlich ein Fehler im ALSA-Treiber '%s'. Bitte melden Sie "
"diesen Punkt den ALSA-Entwicklern."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -71,7 +76,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Internes Audio"
@@ -91,214 +96,92 @@ msgstr "Neuer dlopen-Loader konnte nicht gefunden werden."
msgid "Failed to add bind-now-loader."
msgstr "Hinzufügen von Bind-Now-Loader fehlgeschlagen."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Kann nicht mit dem System-Bus verbinden: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Kann Caller von PID nicht beziehen: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Kann UID für Caller-Objekt nicht setzen."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Kann CK-Session nicht beziehen."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Kann UID für Session-Objekt nicht setzen."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Konnte PolKitAction nicht zuordnen."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Kann action_id nicht setzen"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Konnte PolKitContext nicht zuordnen."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Konnte PolKitContext nicht initialisieren: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Autorisierung des Callers konnte nicht sichergestellt werden: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Keine Authorisierung erhalten: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit antwortete mit '%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Signal %s empfangen."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Wird beendet."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Benutzer '%s' nicht gefunden."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Gruppe '%s' nicht gefunden."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Benutzer '%s' (UID %lu) und Gruppe '%s' (GID %lu) gefunden."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID von Benutzer '%s' und Gruppe '%s' stimmen nicht überein."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Benutzerverzeichnis von Benutzer '%s' ist nicht '%s', ignoriere."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Konnte '%s' nciht erzeugen: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Wechseln der Gruppen-Liste fehlgeschlagen: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Wechseln der GID fehlgeschlagen: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Wechseln der UID fehlgeschlagen: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Root-Berechtigungen erfolgreich zurückgesetzt."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "System-Modus auf dieser Plattform nicht unterstützt."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) fehlgeschlagen: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Parsen der Kommandzeile fehlgeschlagen."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Wir befinden uns in der Gruppe '%s', was Scheduling höchster Priorität "
-"ermöglicht."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-"Wir befinden uns in der Gruppe '%s', was Echtzeit-Scheduling ermöglicht."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "Richtlinien gewähren das Recht aquire-high-priority."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "Richtlinien verweigern das Recht acquire-high-priority."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "Richtlinien gewähren das Recht aquire-real-time."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "Richtlinien verweigern das Recht acquire-real-time."
-
-#: ../src/daemon/main.c:560
-#, fuzzy, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"' und PolicyKit verweigern diese Rechte. Verwerfe SUID wieder.\n"
-"Erlangen Sie die den Richtlinien entsprechenden Rechte, um Echtzeit-"
-"Scheduling zu aktivieren oder werden Sie Mitglied der Gruppe '"
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr "Scheduling höchster Priorität konfiguriert, jedoch nicht erlaubt."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO erfolgreich erhöht"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Verwerfe CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Daemon läuft nicht"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Daemon läuft als PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Konnte Prozess nicht abbrechen: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -306,153 +189,150 @@ msgstr ""
"Dieses Programm sollte ohne die Option --system nicht als Administrator "
"ausgeführt werden."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Root-Berechtigungen benötigt."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start nicht unterstützt für System-Instanzen."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "System-Modus aktiv, jeodch --disallow-exit nicht gesetzt!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "System-Modus aktiv, jedoch --disallow-module-loading nicht gesetzt!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "System-Modus aktiv, SHM-Modus gezwungenermaßen deaktiviert!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "System-Modus aktiv, Exit-Idle-Time gezwungenermaßen deaktiviert!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Reservieren von STDIO fehlgeschlagen."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe fehlgeschlagen: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() fehlgeschlagen: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() fehlgeschlagen: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Start des Daemons fehlgeschlagen."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Start des Daemons erfolgreich."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Dies ist PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Kompilier-Host: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "Kompilier-CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Laufe auf Host: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPUs gefunden."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Seitengröße ist %lu Bytes."
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Kompiliere mit Valgrind-Unterstützung: ja"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Kompiliere mit Valgrind-Unterstützung: nein"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Läuft im Valgrind-Modus: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimiertes Build: ja"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Optimiertes Build: nein"
-#: ../src/daemon/main.c:902
-#, fuzzy
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG definiert, alle Ansprüche deaktiviert."
-#: ../src/daemon/main.c:904
-#, fuzzy
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH definiert, nur fast-path-Ansprüche deaktiviert."
-#: ../src/daemon/main.c:906
-#, fuzzy
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Alle Ansprüche aktiviert."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Beziehen der Maschinen-ID fehlgeschlagen"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "System- ID ist %s."
-#: ../src/daemon/main.c:917
-#, fuzzy, c-format
+#: ../src/daemon/main.c:770
+#, c-format
msgid "Session ID is %s."
msgstr "System- ID ist %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Nutze Laufzeit-Verzeichnis %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Nutze Zustands-Verzeichnis %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Laufe im System-Modus: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -462,41 +342,41 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() fehlgeschlagen."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Neue hochauslösende Timer verfügbar! Guten Appetit!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
msgstr "Der Chefkoch empfiehlt: Linux mit aktivierten hochauslösenden Timern!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() fehlgeschlagen."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Konnte Daemon nicht initialisieren."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Daemon verweigert Ausführung, da keine Module geladen."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Start des Daemons abgeschlossen."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Herunterfahren des Daemon gestartet."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Daemon beendet."
@@ -816,7 +696,6 @@ msgid "Failed to open configuration file: %s"
msgstr "Öffnen der Konfigurationsdatei fehlgeschlagen : %s"
#: ../src/daemon/daemon-conf.c:540
-#, fuzzy
msgid ""
"The specified default channel map has a different number of channels than "
"the specified default number of channels."
@@ -829,14 +708,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Lese von Konfigurationsdatei: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Root-Privilegien aufgeben."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "Fähigkeiten erfolgreich auf CAP_SYS_NICE reduziert."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio Sound System"
@@ -845,31 +720,6 @@ msgstr "PulseAudio Sound System"
msgid "Start the PulseAudio Sound System"
msgstr "Das PulseAudio Sound System starten"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-#, fuzzy
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Echtzeit-Terminierung des PulseAudio-Daemon fehlgeschlagen"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-#, fuzzy
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"System-Richtlinien verhindert PulseAudio beim Erlangen des high-priority "
-"scheduling."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-#, fuzzy
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"System-Richtlinien verhindert PulseAudio beim Erlangen der Echtzeit-"
-"Terminierung.."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1202,7 +1052,7 @@ msgstr "Fehlende Implementation"
#: ../src/pulse/error.c:67
msgid "Client forked"
-msgstr ""
+msgstr "Client geteilt"
#: ../src/pulse/sample.c:169
#, c-format
@@ -1242,183 +1092,187 @@ msgstr "Parsen der Cookie-Daten fehlgeschlagen"
msgid "Failed to open configuration file '%s': %s"
msgstr "Konfigurationsdatei '%s' konnte nicht geöffnet werden: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Verbindungsversuch ohne Cookie, da keines geladen."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Nachricht für unbekannte Erweiterung '%s' erhalten"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Entleeren des Streams fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Wiedergabe-Stream entleert.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Draining connection to server.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() fehlgeschlagen: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Stream wurde erfolgreich erstellt.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Pufferdaten: maxlenght=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Pufferdaten: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "Benutze Sample-Angabe '%s', Kanalzuordnung '%s'.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "Verbunden mit Gerät %s (%u, %sausgesetzt).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Stream-Fehler: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Stream-Gerät ausgesetzt.%s\n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Stream-Gerät reaktiviert.%s\n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Stream unterlaufen.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Stream überlief.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Stream gestartet: %s\n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Stream an Gerät %s übergeben (%u, %sausgesetzt).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "nicht "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "Stream-Zwischenspeicher-Attribute geändert.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Verbindung hergestellt.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Verbindungsfehler: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF empfangen.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() fehlgeschlagen: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF empfangen.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Signal empfangen, beende.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Erhalten der Latenz fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Zeit: %0.3f sec; Latenz: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() fehlgeschlagen: %s\n"
#: ../src/utils/pacat.c:605
@@ -1531,97 +1385,104 @@ msgstr ""
"Kompiliert mit libpulse %s\n"
"Gelinkt mit libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
-msgstr "Ungültige Kanal-Zuweisung '%s'\n"
+msgid "Invalid client name '%s'"
+msgstr "Ungültiger Client-Name '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
-msgstr "Ungültige Resample-Methode '%s'."
+msgid "Invalid stream name '%s'"
+msgstr "Ungültiger Stream-Name '%s'\n"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Ungültige Kanal-Zuweisung '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Ungültige Latenz-Angaben '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Ungültige Prozesszeit-Angaben '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
-msgstr "Ungültige Resample-Methode '%s'."
+msgid "Invalid property '%s'"
+msgstr "Ungültige Eigenschaft '%s'\n"
#: ../src/utils/pacat.c:878
#, c-format
msgid "Unknown file format %s."
-msgstr ""
+msgstr "Unbekanntes Dateiformat %s."
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Ungültige Sample-Angaben\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Zu viele Argumente.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
-msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n"
+msgid "Failed to generate sample specification for file."
+msgstr "Beziehen der Sample-Informationen für die Datei fehlgeschlagen.\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "Warnung: Beziehen der Sample-Angabe aus Datei fehlgeschlagen.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
-msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n"
+msgid "Failed to determine sample specification from file."
+msgstr "Beziehen der Sample-Informationen der Datei fehlgeschlagen.\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Warnung: Bestimmung der Kanalzuordnung aus Datei fehlgeschlagen.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "Kanalzuordnung entspricht nicht Einstellungen des Samples\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Warnung: Schreiben der Kanalzuordnung in Datei fehlgeschlagen.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
-msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
+msgstr ""
+"Öffnen eines %s-Streams mit Sample-Angabe '%s' und Kanalzuordnung '%s'.\n"
#: ../src/utils/pacat.c:1006
msgid "recording"
@@ -1631,35 +1492,34 @@ msgstr "aufnehmen"
msgid "playback"
msgstr "abspielen"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() fehlgeschlagen.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() fehlgeschlagen.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() fehlgeschlagen.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_new() fehlgeschlagen: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() fehlgeschlagen.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() fehlgeschlagen.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() fehlgeschlagen.\n"
#: ../src/utils/pasuspender.c:81
@@ -1687,6 +1547,11 @@ msgstr "Resume fehlgeschlagen: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "WARNUNG: Sound-Server läuft nicht lokal, nicht ausgesetzt.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Verbindungsfehler: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1726,6 +1591,21 @@ msgstr ""
"kompiliert mit libpulse %s\n"
"Gelinkt mit libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() fehlgeschlagen.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() fehlgeschlagen.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() fehlgeschlagen.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1819,12 +1699,12 @@ msgstr ""
"\t\t%s\n"
#: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353
-#, fuzzy, c-format
+#, c-format
msgid "\tPorts:\n"
msgstr "\tProfile:\n"
#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359
-#, fuzzy, c-format
+#, c-format
msgid "\tActive Port: %s\n"
msgstr "\tAktive Profile: %s\n"
@@ -2138,6 +2018,11 @@ msgstr ""
"Kompiliert mit libpulse %s\n"
"Gelinkt mit libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Ungültiger Client-Name '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Geben Sie eine zu öffnende Sample-Datei an\n"
@@ -2146,10 +2031,13 @@ msgstr "Geben Sie eine zu öffnende Sample-Datei an\n"
msgid "Failed to open sound file.\n"
msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n"
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Beziehen der Sample-Informationen der Datei fehlgeschlagen.\n"
+
#: ../src/utils/pactl.c:951
-#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
-msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"
+msgstr "Warnung: Beziehen der Sample-Angabe aus Datei fehlgeschlagen.\n"
#: ../src/utils/pactl.c:961
msgid "You have to specify a sample name to play\n"
@@ -2197,24 +2085,17 @@ msgid "You have to specify a card name/index and a profile name\n"
msgstr "Sie müssen einen Karten-Name/Indexwert und einen Profilnamen angeben\n"
#: ../src/utils/pactl.c:1073
-#, fuzzy
msgid "You have to specify a sink name/index and a port name\n"
-msgstr "Sie müssen einen Karten-Name/Indexwert und einen Profilnamen angeben\n"
+msgstr "Sie müssen einen Senkennamen/-Indexwert und einen Portnamen angeben\n"
#: ../src/utils/pactl.c:1084
-#, fuzzy
msgid "You have to specify a source name/index and a port name\n"
-msgstr "Sie müssen einen Karten-Name/Indexwert und einen Profilnamen angeben\n"
+msgstr "Sie müssen einen Quellennamen/-Indexwert und einen Portnamen angeben\n"
#: ../src/utils/pactl.c:1099
msgid "No valid command specified.\n"
msgstr "Kein gültiger Befehl angegeben.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_new() fehlgeschlagen: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2296,7 +2177,7 @@ msgstr "Noch nicht implementiert.\n"
#: ../src/utils/pacmd.c:61
msgid "No PulseAudio daemon running, or not running as session daemon."
-msgstr ""
+msgstr "Es läuft kein PulseAudio-Dienst oder nicht als Sessiondienst."
#: ../src/utils/pacmd.c:66
#, c-format
@@ -2331,11 +2212,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Fehler beim Zugriff auf Autostart -Sperre."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2346,7 +2227,7 @@ msgid ""
"returned 0 or another value < min_avail."
msgstr ""
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2358,15 +2239,15 @@ msgid ""
msgstr ""
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Aus"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "High Fidelity Playback (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Telephony Duplex (HSP/HFP)"
@@ -2374,6 +2255,132 @@ msgstr "Telephony Duplex (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio Sound Server"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Kann nicht mit dem System-Bus verbinden: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Kann Caller von PID nicht beziehen: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Kann UID für Caller-Objekt nicht setzen."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Kann CK-Session nicht beziehen."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Kann UID für Session-Objekt nicht setzen."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Konnte PolKitAction nicht zuordnen."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Kann action_id nicht setzen"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Konnte PolKitContext nicht zuordnen."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Konnte PolKitContext nicht initialisieren: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Autorisierung des Callers konnte nicht sichergestellt werden: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Keine Authorisierung erhalten: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit antwortete mit '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Hochprioritäts-Terminierung () (negative Unix nice level) für den "
+#~ "PulseAudio-Dienst"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Echtzeit-Terminierung des PulseAudio-Daemon"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "System-Richtlinien verhindert PulseAudio beim Erlangen des high-priority "
+#~ "scheduling."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "System-Richtlinien verhindert PulseAudio beim Erlangen der Echtzeit-"
+#~ "Terminierung."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() fehlgeschlagen: %s\n"
+
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() fehlgeschlagen: %s\n"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Wir befinden uns in der Gruppe '%s', was Scheduling höchster Priorität "
+#~ "ermöglicht."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "Wir befinden uns in der Gruppe '%s', was Echtzeit-Scheduling ermöglicht."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "Richtlinien gewähren das Recht aquire-high-priority."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "Richtlinien verweigern das Recht acquire-high-priority."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "Richtlinien gewähren das Recht aquire-real-time."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "Richtlinien verweigern das Recht acquire-real-time."
+
+#, fuzzy
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "' und PolicyKit verweigern diese Rechte. Verwerfe SUID wieder.\n"
+#~ "Erlangen Sie die den Richtlinien entsprechenden Rechte, um Echtzeit-"
+#~ "Scheduling zu aktivieren oder werden Sie Mitglied der Gruppe '"
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr "Scheduling höchster Priorität konfiguriert, jedoch nicht erlaubt."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO erfolgreich erhöht"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Verwerfe CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "Fähigkeiten erfolgreich auf CAP_SYS_NICE reduziert."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() fehlgeschlagen.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Analog Mono"
diff --git a/po/de_CH.po b/po/de_CH.po
index 7c069efb..5944c3f3 100644
--- a/po/de_CH.po
+++ b/po/de_CH.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-18 12:55+0100\n"
"Last-Translator: Fabian Affolter <fab@fedoraproject.org>\n"
"Language-Team: German <fedora-trans-de@redhat.com>\n"
@@ -18,7 +18,12 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Language: Swiss German\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -31,7 +36,7 @@ msgstr ""
"Dies ist wahrscheinlich ein Fehler im ALSA-Treiber '%s'. Bitte melden Sie "
"diesen Punkt den ALSA-Entwicklern."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -44,7 +49,7 @@ msgstr ""
"Dies ist wahrscheinlich ein Fehler im ALSA-Treiber '%s'. Bitte melden Sie "
"diesen Punkt den ALSA-Entwicklern."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -70,7 +75,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Internes Audio"
@@ -90,214 +95,92 @@ msgstr "Neuer dlopen-Loader konnte nicht gefunden werden."
msgid "Failed to add bind-now-loader."
msgstr "Hinzufügen von Bind-Now-Loader fehlgeschlagen."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Kann nicht mit dem System-Bus verbinden: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Kann Caller von PID nicht beziehen: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Kann UID für Caller-Objekt nicht setzen."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Kann CK-Session nicht beziehen."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Kann UID für Session-Objekt nicht setzen."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Konnte PolKitAction nicht zuordnen."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Kann action_id nicht setzen"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Konnte PolKitContext nicht zuordnen."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Konnte PolKitContext nicht initialisieren: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Autorisierung des Callers konnte nicht sichergestellt werden: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Keine Authorisierung erhalten: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit antwortete mit '%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Signal %s empfangen."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Wird beendet."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Benutzer '%s' nicht gefunden."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Gruppe '%s' nicht gefunden."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Benutzer '%s' (UID %lu) und Gruppe '%s' (GID %lu) gefunden."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID von Benutzer '%s' und Gruppe '%s' stimmen nicht überein."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Benutzerverzeichnis von Benutzer '%s' ist nicht '%s', ignoriere."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Konnte '%s' nciht erzeugen: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Wechseln der Gruppen-Liste fehlgeschlagen: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Wechseln der GID fehlgeschlagen: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Wechseln der UID fehlgeschlagen: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Root-Berechtigungen erfolgreich zurückgesetzt."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "System-Modus auf dieser Plattform nicht unterstützt."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) fehlgeschlagen: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Parsen der Kommandzeile fehlgeschlagen."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Wir befinden uns in der Gruppe '%s', was Scheduling höchster Priorität "
-"ermöglicht."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-"Wir befinden uns in der Gruppe '%s', was Echtzeit-Scheduling ermöglicht."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "Richtlinien gewähren das Recht aquire-high-priority."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "Richtlinien verweigern das Recht acquire-high-priority."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "Richtlinien gewähren das Recht aquire-real-time."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "Richtlinien verweigern das Recht acquire-real-time."
-
-#: ../src/daemon/main.c:560
-#, fuzzy, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"' und PolicyKit verweigern diese Rechte. Verwerfe SUID wieder.\n"
-"Erlangen Sie die den Richtlinien entsprechenden Rechte, um Echtzeit-"
-"Scheduling zu aktivieren oder werden Sie Mitglied der Gruppe '"
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr "Scheduling höchster Priorität konfiguriert, jedoch nicht erlaubt."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO erfolgreich erhöht"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Verwerfe CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Daemon läuft nicht"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Daemon läuft als PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Konnte Prozess nicht abbrechen: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -305,153 +188,153 @@ msgstr ""
"Dieses Programm sollte ohne die Option --system nicht als Administrator "
"ausgeführt werden."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Root-Berechtigungen benötigt."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start nicht unterstützt für System-Instanzen."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "System-Modus aktiv, jeodch --disallow-exit nicht gesetzt!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "System-Modus aktiv, jedoch --disallow-module-loading nicht gesetzt!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "System-Modus aktiv, SHM-Modus gezwungenermassen deaktiviert!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "System-Modus aktiv, Exit-Idle-Time gezwungenermassen deaktiviert!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Reservieren von STDIO fehlgeschlagen."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe fehlgeschlagen: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() fehlgeschlagen: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() fehlgeschlagen: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Start des Daemons fehlgeschlagen."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Start des Daemons erfolgreich."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Dies ist PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Kompilier-Host: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "Kompilier-CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Laufe auf Host: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPUs gefunden."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Seitengrösse ist %lu Bytes."
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Kompiliere mit Valgrind-Unterstützung: ja"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Kompiliere mit Valgrind-Unterstützung: nein"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Läuft im Valgrind-Modus: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimiertes Build: ja"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Optimiertes Build: nein"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
#, fuzzy
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG definiert, alle Ansprüche deaktiviert."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
#, fuzzy
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH definiert, nur fast-path-Ansprüche deaktiviert."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
#, fuzzy
msgid "All asserts enabled."
msgstr "Alle Ansprüche aktiviert."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Beziehen der Maschinen-ID fehlgeschlagen"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "System- ID ist %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "System- ID ist %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Nutze Laufzeit-Verzeichnis %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Nutze Zustands-Verzeichnis %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Laufe im System-Modus: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -461,41 +344,41 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() fehlgeschlagen."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Neue hochauslösende Timer verfügbar! Guten Appetit!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
msgstr "Der Chefkoch empfiehlt: Linux mit aktivierten hochauslösenden Timern!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() fehlgeschlagen."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Konnte Daemon nicht initialisieren."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Daemon verweigert Ausführung, da keine Module geladen."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Start des Daemons abgeschlossen."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Herunterfahren des Daemon gestartet."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Daemon beendet."
@@ -828,14 +711,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Lese von Konfigurationsdatei: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Root-Privilegien aufgeben."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "Fähigkeiten erfolgreich auf CAP_SYS_NICE reduziert."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio Sound System"
@@ -844,34 +723,6 @@ msgstr "PulseAudio Sound System"
msgid "Start the PulseAudio Sound System"
msgstr "Das PulseAudio Sound System starten"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-#, fuzzy
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"High-priority scheduling (verkleinere Unix nice-Stufe) für den PulseAudio-"
-"Daemon"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-#, fuzzy
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Echtzeit-Terminierung des PulseAudio-Daemon fehlgeschlagen"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-#, fuzzy
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"System-Richtlinien verhindert PulseAudio beim Erlangen des high-priority "
-"scheduling."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-#, fuzzy
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"System-Richtlinien verhindert PulseAudio beim Erlangen der Echtzeit-"
-"Terminierung.."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1245,183 +1096,187 @@ msgstr "Parsen der Cookie-Daten fehlgeschlagen"
msgid "Failed to open configuration file '%s': %s"
msgstr "Konfigurationsdatei '%s' konnte nicht geöffnet werden: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Verbindungsversuch ohne Cookie, da keines geladen."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Nachricht für unbekannte Erweiterung '%s' erhalten"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Entleeren des Streams fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Wiedergabe-Stream entleert.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Draining connection to server.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() fehlgeschlagen: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Stream wurde erfolgreich erstellt.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Pufferdaten: maxlenght=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Pufferdaten: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "Benutze Sample-Angabe '%s', Kanalzuordnung '%s'.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "Verbunden mit Gerät %s (%u, %sausgesetzt).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Stream-Fehler: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Stream-Gerät ausgesetzt.%s\n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Stream-Gerät reaktiviert.%s\n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Stream unterlaufen.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Stream überlief.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Stream gestartet: %s\n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Stream an Gerät %s übergeben (%u, %sausgesetzt).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "nicht "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "Stream-Zwischenspeicher-Attribute geändert.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Verbindung hergestellt.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Verbindungsfehler: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF empfangen.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() fehlgeschlagen: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF empfangen.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Signal empfangen, beende.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Erhalten der Latenz fehlgeschlagen: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Zeit: %0.3f sec; Latenz: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() fehlgeschlagen: %s\n"
#: ../src/utils/pacat.c:605
@@ -1534,34 +1389,34 @@ msgstr ""
"Kompiliert mit libpulse %s\n"
"Gelinkt mit libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "Ungültige Kanal-Zuweisung '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "Ungültige Resample-Methode '%s'."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Ungültige Kanal-Zuweisung '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Ungültige Latenz-Angaben '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Ungültige Prozesszeit-Angaben '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "Ungültige Resample-Methode '%s'."
#: ../src/utils/pacat.c:878
@@ -1570,60 +1425,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Ungültige Sample-Angaben\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Zu viele Argumente.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "Kanalzuordnung entspricht nicht Einstellungen des Samples\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"
#: ../src/utils/pacat.c:1006
@@ -1634,35 +1495,34 @@ msgstr "aufnehmen"
msgid "playback"
msgstr "abspielen"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() fehlgeschlagen.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() fehlgeschlagen.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() fehlgeschlagen.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_new() fehlgeschlagen: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() fehlgeschlagen.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() fehlgeschlagen.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() fehlgeschlagen.\n"
#: ../src/utils/pasuspender.c:81
@@ -1690,6 +1550,11 @@ msgstr "Resume fehlgeschlagen: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "WARNUNG: Sound-Server läuft nicht lokal, nicht ausgesetzt.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Verbindungsfehler: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1729,6 +1594,21 @@ msgstr ""
"kompiliert mit libpulse %s\n"
"Gelinkt mit libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() fehlgeschlagen.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() fehlgeschlagen.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() fehlgeschlagen.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2141,6 +2021,11 @@ msgstr ""
"Kompiliert mit libpulse %s\n"
"Gelinkt mit libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Ungültige Kanal-Zuweisung '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Geben Sie eine zu öffnende Sample-Datei an\n"
@@ -2149,6 +2034,11 @@ msgstr "Geben Sie eine zu öffnende Sample-Datei an\n"
msgid "Failed to open sound file.\n"
msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2213,11 +2103,6 @@ msgstr "Sie müssen einen Karten-Name/Indexwert und einen Profilnamen angeben\n"
msgid "No valid command specified.\n"
msgstr "Kein gültiger Befehl angegeben.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_new() fehlgeschlagen: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2334,11 +2219,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Fehler beim Zugriff auf Autostart -Sperre."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2356,7 +2241,7 @@ msgstr ""
"von snd_pcm_avail() liefert 0 oder einen anderen Wert zurück, der < "
"min_avail ist."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2375,15 +2260,15 @@ msgstr ""
"min_avail ist."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Aus"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "High Fidelity Playback (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Telephony Duplex (HSP/HFP)"
@@ -2391,6 +2276,136 @@ msgstr "Telephony Duplex (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio Sound Server"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Kann nicht mit dem System-Bus verbinden: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Kann Caller von PID nicht beziehen: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Kann UID für Caller-Objekt nicht setzen."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Kann CK-Session nicht beziehen."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Kann UID für Session-Objekt nicht setzen."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Konnte PolKitAction nicht zuordnen."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Kann action_id nicht setzen"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Konnte PolKitContext nicht zuordnen."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Konnte PolKitContext nicht initialisieren: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Autorisierung des Callers konnte nicht sichergestellt werden: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Keine Authorisierung erhalten: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit antwortete mit '%s'"
+
+#, fuzzy
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "High-priority scheduling (verkleinere Unix nice-Stufe) für den PulseAudio-"
+#~ "Daemon"
+
+#, fuzzy
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Echtzeit-Terminierung des PulseAudio-Daemon fehlgeschlagen"
+
+#, fuzzy
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "System-Richtlinien verhindert PulseAudio beim Erlangen des high-priority "
+#~ "scheduling."
+
+#, fuzzy
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "System-Richtlinien verhindert PulseAudio beim Erlangen der Echtzeit-"
+#~ "Terminierung.."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() fehlgeschlagen: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_new() fehlgeschlagen: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Wir befinden uns in der Gruppe '%s', was Scheduling höchster Priorität "
+#~ "ermöglicht."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "Wir befinden uns in der Gruppe '%s', was Echtzeit-Scheduling ermöglicht."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "Richtlinien gewähren das Recht aquire-high-priority."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "Richtlinien verweigern das Recht acquire-high-priority."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "Richtlinien gewähren das Recht aquire-real-time."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "Richtlinien verweigern das Recht acquire-real-time."
+
+#, fuzzy
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "' und PolicyKit verweigern diese Rechte. Verwerfe SUID wieder.\n"
+#~ "Erlangen Sie die den Richtlinien entsprechenden Rechte, um Echtzeit-"
+#~ "Scheduling zu aktivieren oder werden Sie Mitglied der Gruppe '"
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr "Scheduling höchster Priorität konfiguriert, jedoch nicht erlaubt."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO erfolgreich erhöht"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Verwerfe CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "Fähigkeiten erfolgreich auf CAP_SYS_NICE reduziert."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() fehlgeschlagen.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Analog Mono"
diff --git a/po/el.po b/po/el.po
index 9e593e16..bf43b7b9 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: el\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2008-08-22 19:40+0300\n"
"Last-Translator: Dimitris Glezos <dimitris@glezos.com>\n"
"Language-Team: Greek <fedora-trans-el@redhat.com>\n"
@@ -16,7 +16,12 @@ msgstr ""
"X-Generator: KAider 0.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -25,7 +30,7 @@ msgid ""
"to the ALSA developers."
msgstr ""
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -34,7 +39,7 @@ msgid ""
"to the ALSA developers."
msgstr ""
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -56,7 +61,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr ""
@@ -76,357 +81,241 @@ msgstr ""
msgid "Failed to add bind-now-loader."
msgstr ""
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr ""
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr ""
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr ""
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr ""
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr ""
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr ""
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr ""
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr ""
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Έξοδος."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Αποτυχία εÏÏεσης χÏήστη '%s'."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Αποτυχία εÏÏεσης ομάδας χÏηστών '%s'."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr ""
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr ""
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr ""
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr ""
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr ""
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr ""
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr ""
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr ""
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr ""
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr ""
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr ""
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr ""
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr ""
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr ""
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr ""
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr ""
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr ""
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr ""
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr ""
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr ""
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr ""
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr ""
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr ""
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr ""
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr ""
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr ""
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr ""
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr ""
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr ""
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr ""
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr ""
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr ""
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Αυτό είναι το PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr ""
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr ""
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr ""
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr ""
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr ""
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr ""
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr ""
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr ""
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr ""
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr ""
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr ""
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr ""
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr ""
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr ""
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr ""
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, c-format
msgid "Session ID is %s."
msgstr ""
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr ""
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr ""
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr ""
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -436,15 +325,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr ""
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr ""
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -452,27 +341,27 @@ msgstr ""
"Δικέ μου, ο πυÏήνας σου είναι για τα μπάζα! Η Ï€Ïόταση του σεφ σήμεÏα είναι "
"Linux με ενεÏγοποιημένα τα high-resolution timers!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr ""
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr ""
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr ""
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr ""
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr ""
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr ""
@@ -734,14 +623,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr ""
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr ""
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr ""
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr ""
@@ -750,24 +635,6 @@ msgstr ""
msgid "Start the PulseAudio Sound System"
msgstr ""
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr ""
@@ -1140,183 +1007,182 @@ msgstr ""
msgid "Failed to open configuration file '%s': %s"
msgstr ""
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr ""
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr ""
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr ""
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr ""
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
+msgstr "Αποτυχία εÏÏεσης χÏήστη '%s'."
+
+#: ../src/utils/pacat.c:113
+msgid "Playback stream drained."
msgstr ""
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:123
+msgid "Draining connection to server."
msgstr ""
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:136
+#, c-format
+msgid "pa_stream_drain(): %s"
msgstr ""
-#: ../src/utils/pacat.c:135
+#: ../src/utils/pacat.c:159
#, c-format
-msgid "pa_stream_drain(): %s\n"
+msgid "pa_stream_write() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:158
+#: ../src/utils/pacat.c:197
#, c-format
-msgid "pa_stream_write() failed: %s\n"
+msgid "pa_stream_begin_write() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+msgid "pa_stream_peek() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+msgid "Stream successfully created."
msgstr ""
-#: ../src/utils/pacat.c:305
+#: ../src/utils/pacat.c:310
#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:309
+#: ../src/utils/pacat.c:314
#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr ""
-#: ../src/utils/pacat.c:312
+#: ../src/utils/pacat.c:317
#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr ""
-#: ../src/utils/pacat.c:316
+#: ../src/utils/pacat.c:321
#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+msgid "Using sample spec '%s', channel map '%s'."
msgstr ""
-#: ../src/utils/pacat.c:320
+#: ../src/utils/pacat.c:325
#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr ""
-#: ../src/utils/pacat.c:330
+#: ../src/utils/pacat.c:335
#, c-format
-msgid "Stream error: %s\n"
+msgid "Stream error: %s"
msgstr ""
-#: ../src/utils/pacat.c:340
+#: ../src/utils/pacat.c:345
#, c-format
-msgid "Stream device suspended.%s \n"
+msgid "Stream device suspended.%s"
msgstr ""
-#: ../src/utils/pacat.c:342
+#: ../src/utils/pacat.c:347
#, c-format
-msgid "Stream device resumed.%s \n"
+msgid "Stream device resumed.%s"
msgstr ""
-#: ../src/utils/pacat.c:350
+#: ../src/utils/pacat.c:355
#, c-format
-msgid "Stream underrun.%s \n"
+msgid "Stream underrun.%s"
msgstr ""
-#: ../src/utils/pacat.c:357
+#: ../src/utils/pacat.c:362
#, c-format
-msgid "Stream overrun.%s \n"
+msgid "Stream overrun.%s"
msgstr ""
-#: ../src/utils/pacat.c:364
+#: ../src/utils/pacat.c:369
#, c-format
-msgid "Stream started.%s \n"
+msgid "Stream started.%s"
msgstr ""
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr ""
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr ""
-#: ../src/utils/pacat.c:378
+#: ../src/utils/pacat.c:383
#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+msgid "Stream buffer attributes changed.%s"
msgstr ""
-#: ../src/utils/pacat.c:411
+#: ../src/utils/pacat.c:416
#, c-format
-msgid "Connection established.%s \n"
+msgid "Connection established.%s"
msgstr ""
-#: ../src/utils/pacat.c:414
+#: ../src/utils/pacat.c:419
#, c-format
-msgid "pa_stream_new() failed: %s\n"
+msgid "pa_stream_new() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:442
+#: ../src/utils/pacat.c:447
#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+msgid "pa_stream_connect_playback() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:448
+#: ../src/utils/pacat.c:453
#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+msgid "pa_stream_connect_record() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
+#: ../src/utils/pacat.c:467
#, c-format
-msgid "Connection failure: %s\n"
-msgstr ""
-
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
+msgid "Connection failure: %s"
msgstr ""
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
+msgid "Got EOF."
msgstr ""
-#: ../src/utils/pacat.c:532
+#: ../src/utils/pacat.c:537
#, c-format
-msgid "write() failed: %s\n"
-msgstr ""
-
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+msgid "write() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:558
+msgid "Got signal, exiting."
msgstr ""
#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
+msgstr "Αποτυχία εÏÏεσης χÏήστη '%s'."
+
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr ""
-#: ../src/utils/pacat.c:592
+#: ../src/utils/pacat.c:595
#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr ""
#: ../src/utils/pacat.c:605
@@ -1387,34 +1253,34 @@ msgid ""
"Linked with libpulse %s\n"
msgstr ""
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr ""
#: ../src/utils/pacat.c:776
#, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr ""
#: ../src/utils/pacat.c:813
#, c-format
-msgid "Invalid channel map '%s'\n"
+msgid "Invalid channel map '%s'"
msgstr ""
#: ../src/utils/pacat.c:842
#, c-format
-msgid "Invalid latency specification '%s'\n"
+msgid "Invalid latency specification '%s'"
msgstr ""
#: ../src/utils/pacat.c:849
#, c-format
-msgid "Invalid process time specification '%s'\n"
+msgid "Invalid process time specification '%s'"
msgstr ""
#: ../src/utils/pacat.c:861
#, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr ""
#: ../src/utils/pacat.c:878
@@ -1423,57 +1289,57 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+msgid "Invalid sample specification"
msgstr ""
#: ../src/utils/pacat.c:907
#, c-format
-msgid "open(): %s\n"
+msgid "open(): %s"
msgstr ""
#: ../src/utils/pacat.c:912
#, c-format
-msgid "dup2(): %s\n"
+msgid "dup2(): %s"
msgstr ""
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+msgid "Too many arguments."
msgstr ""
#: ../src/utils/pacat.c:930
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr ""
#: ../src/utils/pacat.c:950
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr ""
#: ../src/utils/pacat.c:956
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
+"specification from file."
msgstr ""
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
-msgid "Failed to determine sample specification from file.\n"
+#: ../src/utils/pacat.c:959
+msgid "Failed to determine sample specification from file."
msgstr ""
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
+msgid "Warning: Failed to determine channel map from file."
msgstr ""
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+msgid "Channel map doesn't match sample specification"
msgstr ""
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
+msgid "Warning: failed to write channel map to file."
msgstr ""
#: ../src/utils/pacat.c:1005
#, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr ""
#: ../src/utils/pacat.c:1006
@@ -1484,35 +1350,29 @@ msgstr ""
msgid "playback"
msgstr ""
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+msgid "pa_mainloop_new() failed."
msgstr ""
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+msgid "io_new() failed."
msgstr ""
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+msgid "pa_context_new() failed."
msgstr ""
-#: ../src/utils/pacat.c:1066
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
#, c-format
-msgid "pa_context_connect() failed: %s\n"
+msgid "pa_context_connect() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
+#: ../src/utils/pacat.c:1072
+msgid "pa_context_rttime_new() failed."
msgstr ""
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+msgid "pa_mainloop_run() failed."
msgstr ""
#: ../src/utils/pasuspender.c:81
@@ -1540,6 +1400,11 @@ msgstr ""
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr ""
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr ""
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1570,6 +1435,21 @@ msgid ""
"Linked with libpulse %s\n"
msgstr ""
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr ""
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr ""
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr ""
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1859,6 +1739,11 @@ msgid ""
"Linked with libpulse %s\n"
msgstr ""
+#: ../src/utils/pactl.c:900
+#, c-format
+msgid "Invalid client name '%s'\n"
+msgstr ""
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr ""
@@ -1867,6 +1752,10 @@ msgstr ""
msgid "Failed to open sound file.\n"
msgstr ""
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr ""
+
#: ../src/utils/pactl.c:951
msgid "Warning: Failed to determine sample specification from file.\n"
msgstr ""
@@ -1923,11 +1812,6 @@ msgstr ""
msgid "No valid command specified.\n"
msgstr ""
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr ""
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2037,11 +1921,11 @@ msgstr ""
msgid "write(): %s"
msgstr ""
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr ""
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2052,7 +1936,7 @@ msgid ""
"returned 0 or another value < min_avail."
msgstr ""
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2064,15 +1948,15 @@ msgid ""
msgstr ""
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 8af1c738..6995716e 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,68 +8,57 @@ msgid ""
msgstr ""
"Project-Id-Version: PulseAudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
-"PO-Revision-Date: 2009-06-11 21:48-0300\n"
-"Last-Translator: Dennis Tobar <dennis.tobar@gmail.com>\n"
+"POT-Creation-Date: 2009-08-10 14:50+0000\n"
+"PO-Revision-Date: 2009-08-10 14:36-0300\n"
+"Last-Translator: Héctor Daniel Cabrera <h.daniel.cabrera@gmail.com>\n"
"Language-Team: Fedora Spanish <fedora-trans-es@redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Spanish\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775
+#: ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr "%s %s"
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
-"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
-"ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers."
+"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
msgstr ""
-"snd_pcm_avail() devolvió un valor que es excepcionalmente grande: %lu bytes "
-"(%lu ms).\n"
-"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, "
-"informe ésto a los desarrolladores de ALSA."
+"snd_pcm_avail() devolvió un valor que es excepcionalmente grande: %lu bytes (%lu ms).\n"
+"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
-"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
-"lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers."
+"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
msgstr ""
-"snd_pcm_delay() devolvió un valor que es excepcionalmente grande: %li bytes "
-"(%s%lu ms).\n"
-"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, "
-"informe ésto a los desarrolladores de ALSA."
+"snd_pcm_delay() devolvió un valor que es excepcionalmente grande: %li bytes (%s%lu ms).\n"
+"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
-"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
-"(%lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers."
+"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes (%lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
msgstr ""
-"snd_pcm_mmap_begin() devolvió un valor que es excepcionalmente grande: %lu "
-"bytes (%lu ms).\n"
-"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, "
-"informe ésto a los desarrolladores de ALSA."
+"snd_pcm_mmap_begin() devolvió un valor que es excepcionalmente grande: %lu bytes (%lu ms).\n"
+"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA."
#: ../src/modules/module-ladspa-sink.c:49
msgid "Virtual LADSPA sink"
-msgstr ""
+msgstr "Sumidero virtual LADSPA"
#: ../src/modules/module-ladspa-sink.c:53
-msgid ""
-"sink_name=<name for the sink> sink_properties=<properties for the sink> "
-"master=<name of sink to filter> format=<sample format> rate=<sample rate> "
-"channels=<number of channels> channel_map=<channel map> plugin=<ladspa "
-"plugin name> label=<ladspa plugin label> control=<comma seperated list of "
-"input control values>"
-msgstr ""
+msgid "sink_name=<name for the sink> sink_properties=<properties for the sink> master=<name of sink to filter> format=<sample format> rate=<sample rate> channels=<number of channels> channel_map=<channel map> plugin=<ladspa plugin name> label=<ladspa plugin label> control=<comma seperated list of input control values>"
+msgstr "sink_name=<nombre para el sumidero> sink_properties=<propiedades para el sumidero> master=<nombre del sumidero a filtrar> format=<formato de ejemplo> rate=<tasa de ejemplo> channels=<cantidad de canaless> channel_map=<mapeo de canales> plugin=<nombre del complemento ladspa> label=<etiqueta del complemento ladspa> control=<lista separada por comas de valores de control de entrada>"
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Audio Interno"
@@ -89,427 +78,283 @@ msgstr "Falló al asignar el cargador dl nuevo."
msgid "Failed to add bind-now-loader."
msgstr "Falló al agregar bind-now-loader."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "No se puede conectar al bus del sistema: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "No se puede obtener el llamador desde el PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "No se puede poner UID en el objeto llamador."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Falló al obtener sesión CK."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "No se puede poner UID en el objeto de sesión."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "No se puede asignar PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "No se pudo poner action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "No se pudo asignar PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "No se pudo inicializar PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "No se pudo determinar si el llamador está autorizado: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "No se pudo obtener auth: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit respondió con '%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Se obtuvo la señal %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Saliendo."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Falló al buscar usuario '%s'."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Falló al buscar grupo '%s'."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Se encontró el usuario '%s' (UID %lu) y el grupo '%s' (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID del usuario '%s' y del grupo '%s' no son similares."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "El directorio de inicio del usuario '%s' no es '%s', ignorando."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212
+#: ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Falló al crear '%s': %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Falló al cambiar la lista de grupo: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Falló al cambiar GID: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Falló al cambiar UID: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Se han liberado con éxitos los privilegios de root."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "El modo a nivel de sistema no es soportado en esta plataforma."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) falló: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Falló al analizar la línea de comando."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "Estamos en el grupo '%s', permitiendo planificación de prioridad alta."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "Estamos en el grupo '%s', permitiendo planificación en tiempo real."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit garantiza que se obtenga el privilegio de alta prioridad."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit se niega a dar acceso al privilegio de alta prioridad."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit garantiza el acceso al privilegio de tiempo real."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit se niega a dar acceso al privilegio de tiempo real."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Se llamó con SUID root y se pidió planificación en tiempo real y/o de alta "
-"prioridad en la configuración. Sin embargo, no se tiene los privilegios "
-"necesarios:\n"
-"No se está en el grupo '%s'. PolicyKit rechaza darnos el permiso necesario y "
-"no se puede aumentar los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO.\n"
-"Para habilitar la planifiación de tiempo real/alta prioridad por favor "
-"adquiera los privilegios apropiados en PolicyKit, o hágase miembro de '%s', "
-"o aumente los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para este "
-"usuario."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Está habilitadada la planificación de prioridad alta, pero no están "
-"permitidas por la política."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO incrementado en forma exitosa"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "Fallo en RLIMIT_RTPRIO: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Abandonando CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Está habilitada la planificación en tiempo real, pero no está permitido por "
-"la política."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "El demonio no está funcionando"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "El demonio está funcionando como PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "No se ha podido detener el demonio: %s"
-#: ../src/daemon/main.c:722
-msgid ""
-"This program is not intended to be run as root (unless --system is "
-"specified)."
-msgstr ""
-"Este programa no tiene por qué ser ejecutado como root (a menos que --system "
-"sea especificado)."
+#: ../src/daemon/main.c:568
+msgid "This program is not intended to be run as root (unless --system is specified)."
+msgstr "Este programa no tiene por qué ser ejecutado como root (a menos que --system sea especificado)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Se necesitan privilegios de root."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start no está soportado para las instancias del sistema."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
-msgstr ""
-"Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-exit! "
+msgstr "Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-exit! "
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
-msgstr ""
-"Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-"
-"module-loading!"
+msgstr "Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-module-loading!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
-msgstr ""
-"Ejecutándose en modo de sistema, ¡desactivando forzadamente el modo SHM!"
+msgstr "Ejecutándose en modo de sistema, ¡desactivando forzadamente el modo SHM!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
-msgstr ""
-"Ejecutándose en modo de sistema, ¡desactivando forzadamente exit idle time!"
+msgstr "Ejecutándose en modo de sistema, ¡desactivando forzadamente exit idle time!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Fallo al intentar adquirir stdio."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "Falló el pipe: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "Falló el fork(): %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643
+#: ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "Falló la operación read(): %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Falló el inicio del demonio. "
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "El demonio se inició exitosamente."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Esto es PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Host de compilación: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "Compilación CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Ejecutándose en el host: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Se encontraron %u CPUs."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "El tamaño de la página es de %lu bytes"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Soporte para compilar con Valgrind: si"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Soporte para compilar con Valgrind: no"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Ejecutándose en modo valgrind: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Build optimizado: si"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Build optimizado: no"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG definido, todos los chequeos deshabilitados."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH definido, sólo se deshabilitan los chequeos fast path."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Todos los chequeos habilitados."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Fallo al intentar obtener el ID de la máquina"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "El ID de la máquina es %s"
-#: ../src/daemon/main.c:917
-#, fuzzy, c-format
+#: ../src/daemon/main.c:770
+#, c-format
msgid "Session ID is %s."
-msgstr "El ID de la máquina es %s"
+msgstr "El ID de la sesión es %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Utilizando directorio de tiempo de ejecución %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Utilizando directorio de estado %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Ejecutándose en modo de sistema: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
-"OK, so you are running PA in system mode. Please note that you most likely "
-"shouldn't be doing that.\n"
-"If you do it nonetheless then it's your own fault if things don't work as "
-"expected.\n"
-"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an "
-"explanation why system mode is usually a bad idea."
+"OK, so you are running PA in system mode. Please note that you most likely shouldn't be doing that.\n"
+"If you do it nonetheless then it's your own fault if things don't work as expected.\n"
+"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an explanation why system mode is usually a bad idea."
msgstr ""
+"Bien, o sea que está ejecutando PA en modo de sistema. Por favor entienda que, en general, no debería estar haciéndolo.\n"
+"Si insiste en seguir utilizando este modo, será debido a su propio accionar que las cosas no funcionen como se esperaba.\n"
+"Por favor lea http://pulseaudio.org/wiki/WhatIsWrongWithSystemMod para obtener una explicación acerca de por qué es una mala idea utilizar el modo sistema."
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "Ha fallado pa_pid_file_create()."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
-msgstr ""
-"¡Existen cronómetros de alta resolución fresquitos y disponibles! ¡Bon "
-"appetit!"
+msgstr "¡Existen cronómetros de alta resolución fresquitos y disponibles! ¡Bon appetit!"
-#: ../src/daemon/main.c:963
-msgid ""
-"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
-"resolution timers enabled!"
-msgstr ""
-"¡Amigo, su kernel deja mucho que desear! ¡El plato que hoy recomienda el "
-"chef es Linux con cronómetros de alta resolución activados! "
+#: ../src/daemon/main.c:816
+msgid "Dude, your kernel stinks! The chef's recommendation today is Linux with high-resolution timers enabled!"
+msgstr "¡Amigo, su kernel deja mucho que desear! ¡El plato que hoy recomienda el chef es Linux con cronómetros de alta resolución activados! "
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "Falló pa_core_new()."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Fallo al intentar iniciar el demonio."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
-msgstr ""
-"El demonio se ha iniciado sin ningún módulo cargado, y por ello se niega a "
-"funcionar."
+msgstr "El demonio se ha iniciado sin ningún módulo cargado, y por ello se niega a funcionar."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "El demonio se inició completamente."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Comienza a apagarse el demonio."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "El demonio se ha apagado."
@@ -524,48 +369,37 @@ msgid ""
" --dump-conf Dump default configuration\n"
" --dump-modules Dump list of available modules\n"
" --dump-resample-methods Dump available resample methods\n"
-" --cleanup-shm Cleanup stale shared memory "
-"segments\n"
-" --start Start the daemon if it is not "
-"running\n"
+" --cleanup-shm Cleanup stale shared memory segments\n"
+" --start Start the daemon if it is not running\n"
" -k --kill Kill a running daemon\n"
-" --check Check for a running daemon (only "
-"returns exit code)\n"
+" --check Check for a running daemon (only returns exit code)\n"
"\n"
"OPTIONS:\n"
" --system[=BOOL] Run as system-wide instance\n"
" -D, --daemonize[=BOOL] Daemonize after startup\n"
" --fail[=BOOL] Quit when startup fails\n"
" --high-priority[=BOOL] Try to set high nice level\n"
-" (only available as root, when SUID "
-"or\n"
+" (only available as root, when SUID or\n"
" with elevated RLIMIT_NICE)\n"
" --realtime[=BOOL] Try to enable realtime scheduling\n"
-" (only available as root, when SUID "
-"or\n"
+" (only available as root, when SUID or\n"
" with elevated RLIMIT_RTPRIO)\n"
-" --disallow-module-loading[=BOOL] Disallow module user requested "
-"module\n"
+" --disallow-module-loading[=BOOL] Disallow module user requested module\n"
" loading/unloading after startup\n"
" --disallow-exit[=BOOL] Disallow user requested exit\n"
-" --exit-idle-time=SECS Terminate the daemon when idle and "
-"this\n"
+" --exit-idle-time=SECS Terminate the daemon when idle and this\n"
" time passed\n"
-" --module-idle-time=SECS Unload autoloaded modules when idle "
-"and\n"
+" --module-idle-time=SECS Unload autoloaded modules when idle and\n"
" this time passed\n"
-" --scache-idle-time=SECS Unload autoloaded samples when idle "
-"and\n"
+" --scache-idle-time=SECS Unload autoloaded samples when idle and\n"
" this time passed\n"
" --log-level[=LEVEL] Increase or set verbosity level\n"
" -v Increase the verbosity level\n"
" --log-target={auto,syslog,stderr} Specify the log target\n"
-" --log-meta[=BOOL] Include code location in log "
-"messages\n"
+" --log-meta[=BOOL] Include code location in log messages\n"
" --log-time[=BOOL] Include timestamps in log messages\n"
" --log-backtrace=FRAMES Include a backtrace in log messages\n"
-" -p, --dl-search-path=PATH Set the search path for dynamic "
-"shared\n"
+" -p, --dl-search-path=PATH Set the search path for dynamic shared\n"
" objects (plugins)\n"
" --resample-method=METHOD Use the specified resampling method\n"
" (See --dump-resample-methods for\n"
@@ -576,12 +410,10 @@ msgid ""
" --disable-shm[=BOOL] Disable shared memory support.\n"
"\n"
"STARTUP SCRIPT:\n"
-" -L, --load=\"MODULE ARGUMENTS\" Load the specified plugin module "
-"with\n"
+" -L, --load=\"MODULE ARGUMENTS\" Load the specified plugin module with\n"
" the specified argument\n"
" -F, --file=FILENAME Run the specified script\n"
-" -C Open a command line on the running "
-"TTY\n"
+" -C Open a command line on the running TTY\n"
" after startup\n"
"\n"
" -n Don't load default script file\n"
@@ -592,78 +424,50 @@ msgstr ""
" -h, --help Muestra esta ayuda\n"
" --version Muestra la versión\n"
" --dump-conf Vuelca la configuración por defecto\n"
-" --dump-modules Vuelca una lista de múdulos "
-"disponibles\n"
-" --dump-resample-methods Vuelca los métodos disponibles de "
-"remuestreo\n"
-" --cleanup-shm Limpia los segmentos de memoria "
-"compartidos\n"
-" --start Inicia el demonio, si es que aún no "
-"está funcionando\n"
+" --dump-modules Vuelca una lista de múdulos disponibles\n"
+" --dump-resample-methods Vuelca los métodos disponibles de remuestreo\n"
+" --cleanup-shm Limpia los segmentos de memoria compartidos\n"
+" --start Inicia el demonio, si es que aún no está funcionando\n"
" -k --kill Detiene a un demonio funcionando\n"
-" --check Verifica qué demonios están "
-"funcionando\n"
+" --check Verifica qué demonios están funcionando\n"
"\n"
"OPCIONES:\n"
-" --system[=BOOL] Se ejecuta como unica instancia a "
-"nivel del sistema\n"
-" -D, --daemonize[=BOOL] Se convierte en demonio luego de "
-"iniciarse\n"
+" --system[=BOOL] Se ejecuta como unica instancia a nivel del sistema\n"
+" -D, --daemonize[=BOOL] Se convierte en demonio luego de iniciarse\n"
" --fail[=BOOL] Se cierra cuando falla el inicio\n"
-" --high-priority[=BOOL] Trata de establecer un nivel de nice "
-"alto\n"
-" (sólo disponible como root, cuando "
-"el SUID o\n"
+" --high-priority[=BOOL] Trata de establecer un nivel de nice alto\n"
+" (sólo disponible como root, cuando el SUID o\n"
" con RLIMIT_NICE) elevado\n"
-" --realtime[=BOOL] Trata de activar planificación en "
-"tiempo real\n"
-" (sólo disponible como root, cuando "
-"el SUID o\n"
+" --realtime[=BOOL] Trata de activar planificación en tiempo real\n"
+" (sólo disponible como root, cuando el SUID o\n"
" con RLIMIT_RTPRIO) elevado\n"
-" --disallow-module-loading[=BOOL] No permite la carga/descarga del "
-"módulo por el usuario\n"
+" --disallow-module-loading[=BOOL] No permite la carga/descarga del módulo por el usuario\n"
" después que se haya iniciado\n"
-" --disallow-exit[=BOOL] No permite la petición del usuario "
-"de abandonar el programa\n"
-" --exit-idle-time=SECS Desactiva un demonio cuando está "
-"ocioso y\n"
-" ha transcurrido esta cantidad de "
-"tiempo\n"
-" --module-idle-time=SECS Descarga modulos que se han cargado "
-"automáticamente cuando están ociosos y\n"
-" ha transcurrido esta cantidad de "
-"tiempo\n"
-" --scache-idle-time=SECS Descarga muestras cargadas "
-"automáticamente cuando están\n"
-" ociosos y ha transcurrido esta "
-"cantidad de tiempo\n"
-" --log-level[=LEVEL] Aumenta o define el grado de salida "
-"a utilizar\n"
+" --disallow-exit[=BOOL] No permite la petición del usuario de abandonar el programa\n"
+" --exit-idle-time=SECS Desactiva un demonio cuando está ocioso y\n"
+" ha transcurrido esta cantidad de tiempo\n"
+" --module-idle-time=SECS Descarga modulos que se han cargado automáticamente cuando están ociosos y\n"
+" ha transcurrido esta cantidad de tiempo\n"
+" --scache-idle-time=SECS Descarga muestras cargadas automáticamente cuando están\n"
+" ociosos y ha transcurrido esta cantidad de tiempo\n"
+" --log-level[=LEVEL] Aumenta o define el grado de salida a utilizar\n"
" -v Aumenta el grado de salida\n"
" --log-target={auto,syslog,stderr} Especifica el destino del log\n"
-" -p, --dl-search-path=PATH Establece la ruta de búsqueda "
-"(search path) para complementos\n"
+" -p, --dl-search-path=PATH Establece la ruta de búsqueda (search path) para complementos\n"
" (plugins) compartidos\n"
-" --resample-method=METHOD Utiliza un método de remuestreo "
-"específico\n"
-" (Ver en --dump-resample-methods los "
-"valores posibles)\n"
+" --resample-method=METHOD Utiliza un método de remuestreo específico\n"
+" (Ver en --dump-resample-methods los valores posibles)\n"
" --use-pid-file[=BOOL] Crea el archivo PID\n"
-" --no-cpu-limit[=BOOL] No instala un limitador de carga de "
-"CPU en\n"
+" --no-cpu-limit[=BOOL] No instala un limitador de carga de CPU en\n"
" plataformas que lo soporten.\n"
-" --disable-shm[=BOOL] Deshabilita el soporte para memoria "
-"compartida.\n"
+" --disable-shm[=BOOL] Deshabilita el soporte para memoria compartida.\n"
"\n"
"SCRIPT DE INICIO:\n"
-" -L, --load=\"ARGUMENTOS DEL MODULO\" Carga el módulo complemento con los "
-"parámetros dados\n"
+" -L, --load=\"ARGUMENTOS DEL MODULO\" Carga el módulo complemento con los parámetros dados\n"
" -F, --file=FILENAME Ejecuta el script especificado\n"
-" -C Abre una línea de comando en el TTY "
-"actual después de iniciar\n"
+" -C Abre una línea de comando en el TTY actual después de iniciar\n"
"\n"
-" -n No carga el archivo script "
-"predeterminado\n"
+" -n No carga el archivo script predeterminado\n"
#: ../src/daemon/cmdline.c:247
msgid "--daemonize expects boolean argument"
@@ -674,13 +478,8 @@ msgid "--fail expects boolean argument"
msgstr "--fail espera un argumento booleano"
#: ../src/daemon/cmdline.c:264
-msgid ""
-"--log-level expects log level argument (either numeric in range 0..4 or one "
-"of debug, info, notice, warn, error)."
-msgstr ""
-"--log-level espera un argumento en el nivel del log (ya sea numérico, que "
-"caiga en el rango de 0..4; ya sea uno de debug, info, notice, warn, o "
-"error). "
+msgid "--log-level expects log level argument (either numeric in range 0..4 or one of debug, info, notice, warn, error)."
+msgstr "--log-level espera un argumento en el nivel del log (ya sea numérico, que caiga en el rango de 0..4; ya sea uno de debug, info, notice, warn, o error). "
#: ../src/daemon/cmdline.c:276
msgid "--high-priority expects boolean argument"
@@ -767,7 +566,7 @@ msgid "Load Once: %s\n"
msgstr "Carga una vez: %s\n"
#: ../src/daemon/dumpmodules.c:75
-#, fuzzy, c-format
+#, c-format
msgid "DEPRECATION WARNING: %s\n"
msgstr "ADVERTENCIA DE COMPATIBILIDAD: %s\n"
@@ -842,26 +641,18 @@ msgid "Failed to open configuration file: %s"
msgstr "No se pudo abrir el archivo de configuración: %s"
#: ../src/daemon/daemon-conf.c:540
-msgid ""
-"The specified default channel map has a different number of channels than "
-"the specified default number of channels."
-msgstr ""
-"El mapa de canal predeterminado especificado tiene un número de canales "
-"distinto al especificado como predeterminado."
+msgid "The specified default channel map has a different number of channels than the specified default number of channels."
+msgstr "El mapa de canal predeterminado especificado tiene un número de canales distinto al especificado como predeterminado."
#: ../src/daemon/daemon-conf.c:616
#, c-format
msgid "### Read from configuration file: %s ###\n"
msgstr "### Leyendo desde el archivo de confioguración: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Abandonando privilegios de root."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "Capacidades limitadas con éxito para CAP_SYS_NICE-"
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "Sistema de Sonido PulseAudio"
@@ -870,31 +661,8 @@ msgstr "Sistema de Sonido PulseAudio"
msgid "Start the PulseAudio Sound System"
msgstr "Iniciar el Sistema de Sonido PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"Planificación de alta prioridad (nivel Unix negativo) para el demonio "
-"PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Planificación de tiempo real para el demonio de PulseAudio."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"Las políticas del sistema impidieron a PulseAudio adquirir la planificación "
-"de alta prioridad."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"Las políticas del sistema impidieron a PulseAudio adquirir la planificación "
-"de tiempo real."
-
-#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
+#: ../src/pulse/channelmap.c:105
+#: ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1098,9 +866,12 @@ msgstr "Posterior izquierdo superior"
msgid "Top Rear Right"
msgstr "Posterior derecho superior"
-#: ../src/pulse/channelmap.c:478 ../src/pulse/sample.c:167
-#: ../src/pulse/volume.c:239 ../src/pulse/volume.c:265
-#: ../src/pulse/volume.c:285 ../src/pulse/volume.c:315
+#: ../src/pulse/channelmap.c:478
+#: ../src/pulse/sample.c:167
+#: ../src/pulse/volume.c:239
+#: ../src/pulse/volume.c:265
+#: ../src/pulse/volume.c:285
+#: ../src/pulse/volume.c:315
msgid "(invalid)"
msgstr "(inválido)"
@@ -1253,7 +1024,8 @@ msgstr "%0.1f KiB"
msgid "%u B"
msgstr "%u B"
-#: ../src/pulse/client-conf-x11.c:55 ../src/utils/pax11publish.c:100
+#: ../src/pulse/client-conf-x11.c:55
+#: ../src/utils/pax11publish.c:100
msgid "XOpenDisplay() failed"
msgstr "XOpenDisplay() falló"
@@ -1266,187 +1038,187 @@ msgstr "Fallo al analizar los datos de la cookie"
msgid "Failed to open configuration file '%s': %s"
msgstr "Fallo al abrir el archivo de configuración '%s': %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "No se ha cargado ninguna cookie. Intentando conectar de todos modos."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(:) %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Se ha recibido un mensaje para una extensión desconocida '%s'"
-#: ../src/utils/pacat.c:107
+#: ../src/utils/pacat.c:108
#, c-format
-msgid "Failed to drain stream: %s\n"
-msgstr "Error al drenar el flujo: %s\n"
+msgid "Failed to drain stream: %s"
+msgstr "Falló al drenar el flujo: %s"
+
+#: ../src/utils/pacat.c:113
+msgid "Playback stream drained."
+msgstr "El flujo de reproducción ha sido drenado."
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
-msgstr "El flujo de platback se ha drenado.\n"
+#: ../src/utils/pacat.c:123
+msgid "Draining connection to server."
+msgstr "Drenando conexión con el servidor."
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
-msgstr "Drenando conexión con el servidor.\n"
+#: ../src/utils/pacat.c:136
+#, c-format
+msgid "pa_stream_drain(): %s"
+msgstr "pa_stream_drain(): %s"
-#: ../src/utils/pacat.c:135
+#: ../src/utils/pacat.c:159
#, c-format
-msgid "pa_stream_drain(): %s\n"
-msgstr "pa_stream_drain(): %s\n"
+msgid "pa_stream_write() failed: %s"
+msgstr "pa_stream_write() falló: %s"
-#: ../src/utils/pacat.c:158
+#: ../src/utils/pacat.c:197
#, c-format
-msgid "pa_stream_write() failed: %s\n"
-msgstr "pa_stream_write() falló: %s\n"
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() falló: %s"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
+#: ../src/utils/pacat.c:237
+#: ../src/utils/pacat.c:267
#, c-format
-msgid "pa_stream_peek() failed: %s\n"
-msgstr "pa_stream_peek() falló: %s\n"
+msgid "pa_stream_peek() failed: %s"
+msgstr "pa_stream_peek() falló: %s"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
-msgstr "Se ha creado exitosamente el flujo (stream).\n"
+#: ../src/utils/pacat.c:307
+msgid "Stream successfully created."
+msgstr "Se ha creado exitosamente el flujo (stream)."
-#: ../src/utils/pacat.c:305
+#: ../src/utils/pacat.c:310
#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
-msgstr "pa_stream_get_buffer_attr() falló: %s\n"
+msgid "pa_stream_get_buffer_attr() failed: %s"
+msgstr "pa_stream_get_buffer_attr() falló: %s"
-#: ../src/utils/pacat.c:309
+#: ../src/utils/pacat.c:314
#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-msgstr "Métrica del búfer: maxlenght=%u, tlenghth=%u, prebuf=%u, minreq=%u\n"
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
+msgstr "Métrica del búfer: maxlenght=%u, tlenghth=%u, prebuf=%u, minreq=%u"
-#: ../src/utils/pacat.c:312
+#: ../src/utils/pacat.c:317
#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
-msgstr "Métrica del búfer: maxlenght=%u, fragsize=%u\n"
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
+msgstr "Métrica del búfer: maxlenght=%u, fragsize=%u"
-#: ../src/utils/pacat.c:316
+#: ../src/utils/pacat.c:321
#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
-msgstr "Utilizando especificaciones de muestra '%s', mapa del canal '%s'.\n"
+msgid "Using sample spec '%s', channel map '%s'."
+msgstr "Utilizando especificaciones de muestra '%s', mapa del canal '%s'."
-#: ../src/utils/pacat.c:320
+#: ../src/utils/pacat.c:325
#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
-msgstr "Conectado al dispositivo %s (%u, %ssuspended).\n"
+msgid "Connected to device %s (%u, %ssuspended)."
+msgstr "Conectado al dispositivo %s (%u, %ssuspended)."
-#: ../src/utils/pacat.c:330
+#: ../src/utils/pacat.c:335
#, c-format
-msgid "Stream error: %s\n"
-msgstr "Error de flujo: %s\n"
+msgid "Stream error: %s"
+msgstr "Error de flujo: %s"
-#: ../src/utils/pacat.c:340
+#: ../src/utils/pacat.c:345
#, c-format
-msgid "Stream device suspended.%s \n"
-msgstr "Dispositivo de flujo suspendido. %s \n"
+msgid "Stream device suspended.%s"
+msgstr "Dispositivo de flujo suspendido.%s"
-#: ../src/utils/pacat.c:342
+#: ../src/utils/pacat.c:347
#, c-format
-msgid "Stream device resumed.%s \n"
-msgstr "Dispositivo de flujo reestablecido. %s \n"
+msgid "Stream device resumed.%s"
+msgstr "Dispositivo de flujo reestablecido.%s"
-#: ../src/utils/pacat.c:350
+#: ../src/utils/pacat.c:355
#, c-format
-msgid "Stream underrun.%s \n"
-msgstr "Flujo agotado. %s \n"
+msgid "Stream underrun.%s"
+msgstr "Flujo agotado.%s"
-#: ../src/utils/pacat.c:357
+#: ../src/utils/pacat.c:362
#, c-format
-msgid "Stream overrun.%s \n"
-msgstr "Flujo saturado.%s \n"
+msgid "Stream overrun.%s"
+msgstr "Flujo saturado.%s"
-#: ../src/utils/pacat.c:364
+#: ../src/utils/pacat.c:369
#, c-format
-msgid "Stream started.%s \n"
-msgstr "Flujo iniciado. %s \n"
+msgid "Stream started.%s"
+msgstr "Flujo iniciado.%s"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
-msgstr "Fujo trasladado al dispositivo %s (%u, %ssuspended). %s\n"
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
+msgstr "Fujo trasladado al dispositivo %s (%u, %ssuspended).%s"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "no"
-#: ../src/utils/pacat.c:378
+#: ../src/utils/pacat.c:383
#, c-format
-msgid "Stream buffer attributes changed.%s \n"
-msgstr "Los atributos del buffer de flujo cambiaron. %s \n"
+msgid "Stream buffer attributes changed.%s"
+msgstr "Los atributos del búfer de flujo han cambiado.%s"
-#: ../src/utils/pacat.c:411
+#: ../src/utils/pacat.c:416
#, c-format
-msgid "Connection established.%s \n"
-msgstr "Conexión establecida. %s \n"
+msgid "Connection established.%s"
+msgstr "Conexión establecida.%s"
-#: ../src/utils/pacat.c:414
+#: ../src/utils/pacat.c:419
#, c-format
-msgid "pa_stream_new() failed: %s\n"
-msgstr "pa_stream_new() falló; %s\n"
+msgid "pa_stream_new() failed: %s"
+msgstr "pa_stream_new() falló: %s"
-#: ../src/utils/pacat.c:442
+#: ../src/utils/pacat.c:447
#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
-msgstr "pa_stream_connect_playback() falló: %s\n"
+msgid "pa_stream_connect_playback() failed: %s"
+msgstr "pa_stream_connect_playback() falló: %s"
-#: ../src/utils/pacat.c:448
+#: ../src/utils/pacat.c:453
#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
-msgstr "pa_stream_connect_record() falló: %s\n"
+msgid "pa_stream_connect_record() failed: %s"
+msgstr "pa_stream_connect_record() falló: %s"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
+#: ../src/utils/pacat.c:467
#, c-format
-msgid "Connection failure: %s\n"
-msgstr "Error en la conexión: %s\n"
-
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Hay EOF.\n"
+msgid "Connection failure: %s"
+msgstr "Error en la conexión: %s"
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() falló: %s\n"
+msgid "Got EOF."
+msgstr "Se tiene EOF."
-#: ../src/utils/pacat.c:532
+#: ../src/utils/pacat.c:537
#, c-format
-msgid "write() failed: %s\n"
-msgstr "write() falló: %s\n"
+msgid "write() failed: %s"
+msgstr "write() falló: %s"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
-msgstr "Hay señal, saliendo (exiting).\n"
+#: ../src/utils/pacat.c:558
+msgid "Got signal, exiting."
+msgstr "Hay señal, saliendo (exiting)."
-#: ../src/utils/pacat.c:567
+#: ../src/utils/pacat.c:572
#, c-format
-msgid "Failed to get latency: %s\n"
-msgstr "No se pudo obtener latencia: %s\n"
+msgid "Failed to get latency: %s"
+msgstr "No se pudo obtener latencia: %s"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Tiempo: %0.3f sec; Latencia: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
+#: ../src/utils/pacat.c:595
#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
-msgstr "pa_stream_update_timing_info() falló: %s\n"
+msgid "pa_stream_update_timing_info() failed: %s"
+msgstr "pa_stream_update_timing_info() falló: %s"
#: ../src/utils/pacat.c:605
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options]\n"
"\n"
@@ -1458,48 +1230,29 @@ msgid ""
"\n"
" -v, --verbose Enable verbose operations\n"
"\n"
-" -s, --server=SERVER The name of the server to connect "
-"to\n"
-" -d, --device=DEVICE The name of the sink/source to "
-"connect to\n"
-" -n, --client-name=NAME How to call this client on the "
-"server\n"
-" --stream-name=NAME How to call this stream on the "
-"server\n"
-" --volume=VOLUME Specify the initial (linear) volume "
-"in range 0...65536\n"
-" --rate=SAMPLERATE The sample rate in Hz (defaults to "
-"44100)\n"
-" --format=SAMPLEFORMAT The sample type, one of s16le, "
-"s16be, u8, float32le,\n"
-" float32be, ulaw, alaw, s32le, s32be, "
-"s24le, s24be,\n"
-" s24-32le, s24-32be (defaults to "
-"s16ne)\n"
-" --channels=CHANNELS The number of channels, 1 for mono, "
-"2 for stereo\n"
+" -s, --server=SERVER The name of the server to connect to\n"
+" -d, --device=DEVICE The name of the sink/source to connect to\n"
+" -n, --client-name=NAME How to call this client on the server\n"
+" --stream-name=NAME How to call this stream on the server\n"
+" --volume=VOLUME Specify the initial (linear) volume in range 0...65536\n"
+" --rate=SAMPLERATE The sample rate in Hz (defaults to 44100)\n"
+" --format=SAMPLEFORMAT The sample type, one of s16le, s16be, u8, float32le,\n"
+" float32be, ulaw, alaw, s32le, s32be, s24le, s24be,\n"
+" s24-32le, s24-32be (defaults to s16ne)\n"
+" --channels=CHANNELS The number of channels, 1 for mono, 2 for stereo\n"
" (defaults to 2)\n"
-" --channel-map=CHANNELMAP Channel map to use instead of the "
-"default\n"
-" --fix-format Take the sample format from the sink "
-"the stream is\n"
+" --channel-map=CHANNELMAP Channel map to use instead of the default\n"
+" --fix-format Take the sample format from the sink the stream is\n"
" being connected to.\n"
-" --fix-rate Take the sampling rate from the sink "
-"the stream is\n"
+" --fix-rate Take the sampling rate from the sink the stream is\n"
" being connected to.\n"
-" --fix-channels Take the number of channels and the "
-"channel map\n"
-" from the sink the stream is being "
-"connected to.\n"
+" --fix-channels Take the number of channels and the channel map\n"
+" from the sink the stream is being connected to.\n"
" --no-remix Don't upmix or downmix channels.\n"
-" --no-remap Map channels by index instead of "
-"name.\n"
-" --latency=BYTES Request the specified latency in "
-"bytes.\n"
-" --process-time=BYTES Request the specified process time "
-"per request in bytes.\n"
-" --property=PROPERTY=VALUE Set the specified property to the "
-"specified value.\n"
+" --no-remap Map channels by index instead of name.\n"
+" --latency=BYTES Request the specified latency in bytes.\n"
+" --process-time=BYTES Request the specified process time per request in bytes.\n"
+" --property=PROPERTY=VALUE Set the specified property to the specified value.\n"
" --raw Record/play raw PCM data.\n"
" --file-format=FFORMAT Record/play formatted PCM data.\n"
" --list-file-formats List available file formats.\n"
@@ -1512,47 +1265,33 @@ msgstr ""
" -r, --record Crea una conexión para grabar\n"
" -p, --playback Create a connection for playback\n"
"\n"
-" -v, --verbose Habilita operaciones con vocabulario "
-"más detallado\n"
+" -v, --verbose Habilita operaciones con vocabulario más detallado\n"
"\n"
-" -s, --server=SERVER El nombre del servidor con el que "
-"conectarse\n"
-" -d, --device=DEVICE El nombre del destino/fuente a la "
-"que conectarse\n"
-" -n, --client-name=NAME Cómo llamar a este cliente en el "
-"servidor\n"
-" --stream-name=NAME Cómo llamar a este flujo en el "
-"servidor\n"
-" --volume=VOLUME Especificar el salida inicial "
-"(linear) de volumen dentro del rango 0...65536\n"
-" --rate=SAMPLERATE Tasa de muestra en Hz (establecida "
-"en 44100 por defecto)\n"
-" --format=SAMPLEFORMAT El tipo de ejemplo, alguno entre "
-"s16le, s16be, u8, float32le,\n"
-" float32be, ulaw, alaw, s32le, s32be "
-"(establecido en s16ne por defecto)\n"
-" --channels=CHANNELS La cantidad de canales, 1 para mono, "
-"2 para stereo\n"
+" -s, --server=SERVER El nombre del servidor con el que conectarse\n"
+" -d, --device=DEVICE El nombre del sumidero/fuente a la que conectarse\n"
+" -n, --client-name=NAME Cómo llamar a este cliente en el servidor\n"
+" --stream-name=NAME Cómo llamar a este flujo en el servidor\n"
+" --volume=VOLUME Especifica el salida inicial (linear) de volumen dentro del rango 0...65536\n"
+" --rate=SAMPLERATE Tasa de muestra en Hz (establecida en 44100 por defecto)\n"
+" --format=SAMPLEFORMAT El tipo de ejemplo, alguno entre s16le, s16be, u8, float32le,\n"
+" float32be, ulaw, alaw, s32le, s32be (establecido en s16ne por defecto)\n"
+" --channels=CHANNELS La cantidad de canales, 1 para mono, 2 para stereo\n"
" (establecido en 2 por defecto)\n"
-" --channel-map=CHANNELMAP Mapa de canales a ser usado en lugar "
-"del establecido por defecto\n"
-" --fix-format Obtener el formato de sample desde "
-"el destino al que el flujo\n"
+" --channel-map=CHANNELMAP Mapeo de canales a ser usado en lugar del establecido por defecto\n"
+" --fix-format Obtener el formato de ejemplo desde el sumidero al que el flujo\n"
" se ha conectado.\n"
-" --fix-rate Obtener la tasa de sampling desde el "
-"destino al que el flujo\n"
+" --fix-rate Obtiene la tasa de ejemplo desde el destino al que el flujo\n"
" se ha conectado.\n"
-" --fix-channels Obtener el mapa y la cantidad de "
-"canales\n"
-" desde el destino al que el flojo se "
-"ha conectado.\n"
-" --no-remix No upmix o downmix canales.\n"
-" --no-remap Mapear canales por índices en lugar "
-"de por nombres.\n"
-" --latency=BYTES Solicitar la latencia especificada "
-"en bytes.\n"
-" --process-time=BYTES Solicitar los procesos de tiempo por "
-"pedido especificados en bytes.\n"
+" --fix-channels Obtener el mapa y la cantidad de canales\n"
+" desde el sumidero al que el flujo se ha conectado.\n"
+" --no-remix No realiza un upmix o un downmix de los canales.\n"
+" --no-remap Mapea canales por índices en lugar de por nombres.\n"
+" --latency=BYTES Solicita la latencia especificada en bytes.\n"
+" --process-time=BYTES Solicita los procesos de tiempo por pedido especificados en bytes.\n"
+" --property=PROPERTY=VALUE Estabelce la propiedad especificada al valor especificado.\n"
+" --raw Graba/reproduce datos PCM con formato raw.\n"
+" --file-format=FFORMAT Graba/reproduce datos PCM formateados.\n"
+" --list-file-formats Muestra una lista con los formatos de archivo disponibles.\n"
#: ../src/utils/pacat.c:727
#, c-format
@@ -1565,96 +1304,91 @@ msgstr ""
"Compilado con libpulse %s\n"
"Linkeado con libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
-#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
-msgstr "Mapa de canales inválido '%s'\n"
+#: ../src/utils/pacat.c:760
+#, c-format
+msgid "Invalid client name '%s'"
+msgstr "Nombre de cliente '%s' inválido"
#: ../src/utils/pacat.c:776
-#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
-msgstr "Método de remuestreo inválido '%s'"
+#, c-format
+msgid "Invalid stream name '%s'"
+msgstr "Nombre de flujo '%s' inválido"
#: ../src/utils/pacat.c:813
#, c-format
-msgid "Invalid channel map '%s'\n"
-msgstr "Mapa de canales inválido '%s'\n"
+msgid "Invalid channel map '%s'"
+msgstr "Mapa de canales '%s' inválido"
#: ../src/utils/pacat.c:842
#, c-format
-msgid "Invalid latency specification '%s'\n"
-msgstr "Especificación de latencia inválida '%s'\n"
+msgid "Invalid latency specification '%s'"
+msgstr "Especificación de latencia '%s' inválida"
#: ../src/utils/pacat.c:849
#, c-format
-msgid "Invalid process time specification '%s'\n"
-msgstr "Especificación de tiempo de proceso inválida '%s'\n"
+msgid "Invalid process time specification '%s'"
+msgstr "Especificación de tiempo de proceso '%s' inválida"
#: ../src/utils/pacat.c:861
-#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
-msgstr "Método de remuestreo inválido '%s'"
+#, c-format
+msgid "Invalid property '%s'"
+msgstr "Propiedad '%s' inválida"
#: ../src/utils/pacat.c:878
-#, fuzzy, c-format
+#, c-format
msgid "Unknown file format %s."
msgstr "Formato de archivo desconocido %s."
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
-msgstr "Especificación de muestra inválida\n"
+msgid "Invalid sample specification"
+msgstr "Especificación de muestra inválida"
#: ../src/utils/pacat.c:907
#, c-format
-msgid "open(): %s\n"
-msgstr "open() %s\n"
+msgid "open(): %s"
+msgstr "open() %s"
#: ../src/utils/pacat.c:912
#, c-format
-msgid "dup2(): %s\n"
-msgstr "dup2(): %s\n"
+msgid "dup2(): %s"
+msgstr "dup2(): %s"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
-msgstr "Demasiados argumentos.\n"
+msgid "Too many arguments."
+msgstr "Demasiados argumentos."
#: ../src/utils/pacat.c:930
-#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
-msgstr "Error al intentar obtener información de muestra: %s\n"
+msgid "Failed to generate sample specification for file."
+msgstr "Falló al generar especificación de ejemplo para el archivo."
#: ../src/utils/pacat.c:950
-msgid "Failed to open audio file.\n"
-msgstr "Error al intentar abrir el archivo de sonido.\n"
+msgid "Failed to open audio file."
+msgstr "Falló al abrir el archivo de sonido."
#: ../src/utils/pacat.c:956
-msgid ""
-"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+msgid "Warning: specified sample specification will be overwritten with specification from file."
+msgstr "Aviso: el ejemplo de especificación indicado será sobreescrito con las especificaciones del archivo."
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
-#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
-msgstr "Error al intentar obtener información de muestra: %s\n"
+#: ../src/utils/pacat.c:959
+msgid "Failed to determine sample specification from file."
+msgstr "Falló al determinar especificación de ejemplo del archivo."
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Aviso: Falló al determinar el mapeo del canal desde el archivo."
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
-msgstr "El mapa del canal no se corresponde con la especificación de muestra\n"
+msgid "Channel map doesn't match sample specification"
+msgstr "El mapa del canal no se corresponde con la especificación de muestra"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+msgid "Warning: failed to write channel map to file."
+msgstr "Aviso: Faló al escribir el mapeo del canal en el archivo."
#: ../src/utils/pacat.c:1005
-#, fuzzy, c-format
-msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
-msgstr "Abriendo un %s flujo con las especificaciones de muestra '%s'.\n"
+#, c-format
+msgid "Opening a %s stream with sample specification '%s' and channel map '%s'."
+msgstr "Abriendo un flujo %s con especificación de muestra '%s' y mapeo de canal '%s'."
#: ../src/utils/pacat.c:1006
msgid "recording"
@@ -1664,36 +1398,31 @@ msgstr "grabando"
msgid "playback"
msgstr "playback"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
-msgstr "pa_mainloop_new() falló.\n"
+#: ../src/utils/pacat.c:1032
+msgid "pa_mainloop_new() failed."
+msgstr "pa_mainloop_new() falló."
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
-msgstr "io_new() falló.\n"
+msgid "io_new() failed."
+msgstr "io_new() falló."
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
-msgstr "pa_context_new() falló.\n"
+#: ../src/utils/pacat.c:1058
+msgid "pa_context_new() failed."
+msgstr "pa_context_new() falló."
#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() falló: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() falló.\n"
+#: ../src/utils/pacat.c:1072
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_rttime_new() falló."
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
-msgstr "pa_mainloop_run() falló.\n"
+#: ../src/utils/pacat.c:1079
+msgid "pa_mainloop_run() failed."
+msgstr "pa_mainloop_run() falló."
#: ../src/utils/pasuspender.c:81
#, c-format
@@ -1720,7 +1449,14 @@ msgstr "Error al continuar: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "AVISO: El servidor de sonido no es local, no se suspende.\n"
-#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
+#: ../src/utils/pasuspender.c:159
+#: ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Error en la conexión: %s\n"
+
+#: ../src/utils/pasuspender.c:176
+#: ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
msgstr "Hay SIGINT, saliendo.\n"
@@ -1737,16 +1473,14 @@ msgid ""
"\n"
" -h, --help Show this help\n"
" --version Show version\n"
-" -s, --server=SERVER The name of the server to connect "
-"to\n"
+" -s, --server=SERVER The name of the server to connect to\n"
"\n"
msgstr ""
"%s [opciones] ... \n"
"\n"
" -h, --help Muestra esta ayuda\n"
" --version Muestra la versión\n"
-" -s, --server=SERVER El nombre del servidor con el que "
-"conectarse\n"
+" -s, --server=SERVER El nombre del servidor con el que conectarse\n"
"\n"
#: ../src/utils/pasuspender.c:248
@@ -1760,6 +1494,24 @@ msgstr ""
"Compilado con libpulse %s\n"
"Linkeado con libpulse %s\n"
+#: ../src/utils/pasuspender.c:277
+#: ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() falló.\n"
+
+#: ../src/utils/pasuspender.c:290
+#: ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() falló.\n"
+
+#: ../src/utils/pasuspender.c:298
+#: ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() falló.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1773,9 +1525,7 @@ msgstr "Actualmente en uso: %u bloques conteniendo %s bytes en total.\n"
#: ../src/utils/pactl.c:137
#, c-format
msgid "Allocated during whole lifetime: %u blocks containing %s bytes total.\n"
-msgstr ""
-"Ubicados durante a lo largo del tiempo: %u bloques conteniendo %s bytes en "
-"total.\n"
+msgstr "Ubicados durante a lo largo del tiempo: %u bloques conteniendo %s bytes en total.\n"
#: ../src/utils/pactl.c:140
#, c-format
@@ -1854,15 +1604,17 @@ msgstr ""
"\tPropiedades:\n"
"\t\t%s\n"
-#: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353
-#, fuzzy, c-format
+#: ../src/utils/pactl.c:261
+#: ../src/utils/pactl.c:353
+#, c-format
msgid "\tPorts:\n"
-msgstr "\tPerfiles:\n"
+msgstr "\tPuertos:\n"
-#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359
-#, fuzzy, c-format
+#: ../src/utils/pactl.c:267
+#: ../src/utils/pactl.c:359
+#, c-format
msgid "\tActive Port: %s\n"
-msgstr "\tPerfil Activo: %s\n"
+msgstr "\tPuerto Activo: %s\n"
#: ../src/utils/pactl.c:290
#, c-format
@@ -1908,10 +1660,18 @@ msgstr ""
"\tPropiedades:\n"
"\t\t%s\n"
-#: ../src/utils/pactl.c:338 ../src/utils/pactl.c:394 ../src/utils/pactl.c:429
-#: ../src/utils/pactl.c:466 ../src/utils/pactl.c:525 ../src/utils/pactl.c:526
-#: ../src/utils/pactl.c:536 ../src/utils/pactl.c:580 ../src/utils/pactl.c:581
-#: ../src/utils/pactl.c:587 ../src/utils/pactl.c:630 ../src/utils/pactl.c:631
+#: ../src/utils/pactl.c:338
+#: ../src/utils/pactl.c:394
+#: ../src/utils/pactl.c:429
+#: ../src/utils/pactl.c:466
+#: ../src/utils/pactl.c:525
+#: ../src/utils/pactl.c:526
+#: ../src/utils/pactl.c:536
+#: ../src/utils/pactl.c:580
+#: ../src/utils/pactl.c:581
+#: ../src/utils/pactl.c:587
+#: ../src/utils/pactl.c:630
+#: ../src/utils/pactl.c:631
#: ../src/utils/pactl.c:638
msgid "n/a"
msgstr "n/a"
@@ -2035,8 +1795,7 @@ msgstr ""
#: ../src/utils/pactl.c:547
#, c-format
msgid "Failed to get source output information: %s\n"
-msgstr ""
-"Error al intentar obtener información acerca de la salida de la fuenta: %s\n"
+msgstr "Error al intentar obtener información acerca de la salida de la fuenta: %s\n"
#: ../src/utils/pactl.c:567
#, c-format
@@ -2103,7 +1862,8 @@ msgstr ""
"\tPropiedades:\n"
"\t\t%s\n"
-#: ../src/utils/pactl.c:646 ../src/utils/pactl.c:656
+#: ../src/utils/pactl.c:646
+#: ../src/utils/pactl.c:656
#, c-format
msgid "Failure: %s\n"
msgstr "Falla: %s\n"
@@ -2118,7 +1878,7 @@ msgid "Premature end of file\n"
msgstr "Fin prematuro del archivo\n"
#: ../src/utils/pactl.c:826
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options] stat\n"
"%s [options] list\n"
@@ -2139,10 +1899,8 @@ msgid ""
" -h, --help Show this help\n"
" --version Show version\n"
"\n"
-" -s, --server=SERVER The name of the server to connect "
-"to\n"
-" -n, --client-name=NAME How to call this client on the "
-"server\n"
+" -s, --server=SERVER The name of the server to connect to\n"
+" -n, --client-name=NAME How to call this client on the server\n"
msgstr ""
"%s [opciones] stat\n"
"%s [opciones] list\n"
@@ -2157,14 +1915,14 @@ msgstr ""
"%s [opciones] suspend-sink [SINK] 1|0\n"
"%s [opciones] suspend-source [SOURCE] 1|0\n"
"%s [opciones] set-card-profile [CARD] [PROFILE] \n"
+"%s [opciones] set-sink-port [SINK] [PORT] \n"
+"%s [opciones] set-source-port [SOURCE] [PORT] \n"
"\n"
" -h, --help Muestra esta ayuda\n"
" --version Muestra la versión\n"
"\n"
-" -s, --server=SERVER El nombre del servidor al que "
-"conectarse\n"
-" -n, --client-name=NAME El nombre de este cliente en el "
-"servidor\n"
+" -s, --server=SERVER El nombre del servidor al que conectarse\n"
+" -n, --client-name=NAME El nombre de este cliente en el servidor\n"
#: ../src/utils/pactl.c:880
#, c-format
@@ -2177,6 +1935,11 @@ msgstr ""
"Compilado con libpulse %s\n"
"Linked con libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Nombre de cliente inválido '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Por favor, especifique un archivo de muestra a cargar\n"
@@ -2185,10 +1948,13 @@ msgstr "Por favor, especifique un archivo de muestra a cargar\n"
msgid "Failed to open sound file.\n"
msgstr "Error al intentar abrir el archivo de sonido.\n"
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Error al intentar determinar especificación de ejemplo del archivo.\n"
+
#: ../src/utils/pactl.c:951
-#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
-msgstr "Abriendo un %s flujo con las especificaciones de muestra '%s'.\n"
+msgstr "Aviso: Fallo al intentar determinar especificación de ejemplo desde el archivo.\n"
#: ../src/utils/pactl.c:961
msgid "You have to specify a sample name to play\n"
@@ -2200,13 +1966,11 @@ msgstr "Debe especificar un nombre de muestra para ser eliminado\n"
#: ../src/utils/pactl.c:982
msgid "You have to specify a sink input index and a sink\n"
-msgstr ""
-"Debe especificar un índice para las entradas del destino y un destino\n"
+msgstr "Debe especificar un índice para las entradas del destino y un destino\n"
#: ../src/utils/pactl.c:992
msgid "You have to specify a source output index and a source\n"
-msgstr ""
-"Debe especificar un índice para las salidas de la fuente, y una fuente\n"
+msgstr "Debe especificar un índice para las salidas de la fuente, y una fuente\n"
#: ../src/utils/pactl.c:1007
msgid "You have to specify a module name and arguments.\n"
@@ -2217,44 +1981,29 @@ msgid "You have to specify a module index\n"
msgstr "Debe especificar un índice de módulo\n"
#: ../src/utils/pactl.c:1037
-msgid ""
-"You may not specify more than one sink. You have to specify a boolean "
-"value.\n"
-msgstr ""
-"No puede especificar más de un sumidero. Tiene que especificar un valor "
-"booleano.\n"
+msgid "You may not specify more than one sink. You have to specify a boolean value.\n"
+msgstr "No puede especificar más de un sumidero. Tiene que especificar un valor booleano.\n"
#: ../src/utils/pactl.c:1050
-msgid ""
-"You may not specify more than one source. You have to specify a boolean "
-"value.\n"
-msgstr ""
-"No puede especificar más de una fuente. Tiene que especificar un valor "
-"booleano.\n"
+msgid "You may not specify more than one source. You have to specify a boolean value.\n"
+msgstr "No puede especificar más de una fuente. Tiene que especificar un valor booleano.\n"
#: ../src/utils/pactl.c:1062
msgid "You have to specify a card name/index and a profile name\n"
msgstr "Debe especificar un nombre de placa/índice y un nombre de perfil\n"
#: ../src/utils/pactl.c:1073
-#, fuzzy
msgid "You have to specify a sink name/index and a port name\n"
-msgstr "Debe especificar un nombre de placa/índice y un nombre de perfil\n"
+msgstr "Debe especificar un nombre de sumidero/índice y un nombre de puerto\n"
#: ../src/utils/pactl.c:1084
-#, fuzzy
msgid "You have to specify a source name/index and a port name\n"
-msgstr "Debe especificar un nombre de placa/índice y un nombre de perfil\n"
+msgstr "Debe especificar un nombre de fuente/índice y un nombre de puerto\n"
#: ../src/utils/pactl.c:1099
msgid "No valid command specified.\n"
msgstr "No se ha especificadfo ningún comando válido.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() falló: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2262,17 +2011,14 @@ msgid ""
"\n"
" -d Show current PulseAudio data attached to X11 display (default)\n"
" -e Export local PulseAudio data to X11 display\n"
-" -i Import PulseAudio data from X11 display to local environment "
-"variables and cookie file.\n"
+" -i Import PulseAudio data from X11 display to local environment variables and cookie file.\n"
" -r Remove PulseAudio data from X11 display\n"
msgstr ""
"%s [-D display] [-S server] [-O sink] [-I source] [-c file] [-d|-e|-i|-r]\n"
"\n"
-" -d Muestra los datos actuales de PulseAudio asociados en un display X11 "
-"(por defecto)\n"
+" -d Muestra los datos actuales de PulseAudio asociados en un display X11 (por defecto)\n"
" -e Exporta los datos locales de PulseAudio a un display X11\n"
-" -i Importa los datos de PulseAudio de un display X11 hacia las variables "
-"del entorno local y el archivo de cookies.\n"
+" -i Importa los datos de PulseAudio de un display X11 hacia las variables del entorno local y el archivo de cookies.\n"
" -r Elimina todo dato de PulseAudio de un display X11\n"
#: ../src/utils/pax11publish.c:94
@@ -2336,11 +2082,8 @@ msgid "Not yet implemented.\n"
msgstr "Aún no se ha implementado.\n"
#: ../src/utils/pacmd.c:61
-#, fuzzy
msgid "No PulseAudio daemon running, or not running as session daemon."
-msgstr ""
-"El demonio PulseAudio no está ejecutándose, o no se está ejecutando como un "
-"demonio de sesión."
+msgstr "El demonio PulseAudio no está ejecutándose, o no se está ejecutando como un demonio de sesión."
#: ../src/utils/pacmd.c:66
#, c-format
@@ -2365,64 +2108,57 @@ msgstr "El demonio no responde."
msgid "select(): %s"
msgstr "select(): %s"
-#: ../src/utils/pacmd.c:156 ../src/utils/pacmd.c:173
+#: ../src/utils/pacmd.c:156
+#: ../src/utils/pacmd.c:173
#, c-format
msgid "read(): %s"
msgstr "read(): %s"
-#: ../src/utils/pacmd.c:189 ../src/utils/pacmd.c:203
+#: ../src/utils/pacmd.c:189
+#: ../src/utils/pacmd.c:203
#, c-format
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136
+#: ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "No se puede acceder al candado de autogeneración."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449
+#: ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
-"ALSA woke us up to write new data to the device, but there was actually "
-"nothing to write!\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers.\n"
-"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
-"returned 0 or another value < min_avail."
+"ALSA woke us up to write new data to the device, but there was actually nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail."
msgstr ""
-"ALSA nos despertó para escribir nuevos datos al dispositivo, ¡pero en "
-"realidad no hay nada para escribir!\n"
-"Probablemente sea un error en el controlador ALSA '%s'. Por favor, informe "
-"esto a los desarrolladores de ALSA.\n"
-"Nos despertaron con POLLOUT puesto -- sin embargo, una llamada a "
-"snd_pcm_avail() devolvió 0 u otro valor < min_avail."
+"ALSA nos despertó para escribir nuevos datos al dispositivo, ¡pero en realidad no hay nada para escribir!\n"
+"Probablemente sea un error en el controlador ALSA '%s'. Por favor, informe esto a los desarrolladores de ALSA.\n"
+"Nos despertaron con POLLOUT puesto -- sin embargo, una llamada a snd_pcm_avail() devolvió 0 u otro valor < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429
+#: ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
-"ALSA woke us up to read new data from the device, but there was actually "
-"nothing to read!\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers.\n"
-"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
-"returned 0 or another value < min_avail."
+"ALSA woke us up to read new data from the device, but there was actually nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail."
msgstr ""
-"ALSA nos despertó para leer nuevos datos desde el dispositivo, ¡pero en "
-"realidad no hay nada para leer!\n"
-"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, "
-"informe esto a los desarrolladores de ALSA.\n"
-"Nos despertaron con POLLIN puesto -- sin embargo, una llamada a snd_pcm_avail"
-"() devolvió 0 u otro valor < min_avail."
+"ALSA nos despertó para leer nuevos datos desde el dispositivo, ¡pero en realidad no hay nada para leer!\n"
+"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe esto a los desarrolladores de ALSA.\n"
+"Nos despertaron con POLLIN puesto -- sin embargo, una llamada a snd_pcm_avail() devolvió 0 u otro valor < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Apagado"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Reproducción de Alta Fidelidad (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Telefonía Duplex (HSP/HFP)"
@@ -2430,57 +2166,141 @@ msgstr "Telefonía Duplex (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "Servidor de Sonido PulseAudio"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "No se puede conectar al bus del sistema: %s"
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "No se puede obtener el llamador desde el PID: %s"
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "No se puede poner UID en el objeto llamador."
+#~ msgid "Failed to get CK session."
+#~ msgstr "Falló al obtener sesión CK."
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "No se puede poner UID en el objeto de sesión."
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "No se puede asignar PolKitAction."
+#~ msgid "Cannot set action_id"
+#~ msgstr "No se pudo poner action_id"
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "No se pudo asignar PolKitContext."
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "No se pudo inicializar PolKitContext: %s"
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "No se pudo determinar si el llamador está autorizado: %s"
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "No se pudo obtener auth: %s"
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit respondió con '%s'"
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Planificación de alta prioridad (nivel Unix negativo) para el demonio "
+#~ "PulseAudio"
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Planificación de tiempo real para el demonio de PulseAudio."
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Las políticas del sistema impidieron a PulseAudio adquirir la "
+#~ "planificación de alta prioridad."
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "Las políticas del sistema impidieron a PulseAudio adquirir la "
+#~ "planificación de tiempo real."
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() falló: %s\n"
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() falló: %s\n"
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Estamos en el grupo '%s', permitiendo planificación de prioridad alta."
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "Estamos en el grupo '%s', permitiendo planificación en tiempo real."
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit garantiza que se obtenga el privilegio de alta prioridad."
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit se niega a dar acceso al privilegio de alta prioridad."
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit garantiza el acceso al privilegio de tiempo real."
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit se niega a dar acceso al privilegio de tiempo real."
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Se llamó con SUID root y se pidió planificación en tiempo real y/o de "
+#~ "alta prioridad en la configuración. Sin embargo, no se tiene los "
+#~ "privilegios necesarios:\n"
+#~ "No se está en el grupo '%s'. PolicyKit rechaza darnos el permiso "
+#~ "necesario y no se puede aumentar los límites del recurso RLIMIT_NICE/"
+#~ "RLIMIT_RTPRIO.\n"
+#~ "Para habilitar la planifiación de tiempo real/alta prioridad por favor "
+#~ "adquiera los privilegios apropiados en PolicyKit, o hágase miembro de '%"
+#~ "s', o aumente los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para este "
+#~ "usuario."
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "Está habilitadada la planificación de prioridad alta, pero no están "
+#~ "permitidas por la política."
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO incrementado en forma exitosa"
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "Fallo en RLIMIT_RTPRIO: %s"
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Abandonando CAP_NICE"
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "Está habilitada la planificación en tiempo real, pero no está permitido "
+#~ "por la política."
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "Capacidades limitadas con éxito para CAP_SYS_NICE-"
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() falló.\n"
#~ msgid "Analog Mono"
#~ msgstr "Mono Analógico"
-
#~ msgid "Analog Stereo"
#~ msgstr "Estéreo Analógico"
-
#~ msgid "Digital Stereo (IEC958)"
#~ msgstr "Estéreo Digital (IEC958)"
-
#~ msgid "Digital Stereo (HDMI)"
#~ msgstr "Estéreo Digital (HDMI)"
-
#~ msgid "Analog Surround 4.0"
#~ msgstr "Análogo Envolvente 4.0"
-
#~ msgid "Digital Surround 4.0 (IEC958/AC3)"
#~ msgstr "Digital Envolvente 4.0 (IEC9588/AC3)"
-
#~ msgid "Analog Surround 4.1"
#~ msgstr "Análogo Envolvente 4.1"
-
#~ msgid "Analog Surround 5.0"
#~ msgstr "Análogo Envolvente 5.0"
-
#~ msgid "Analog Surround 5.1"
#~ msgstr "Análogo Envolvente 5.1"
-
#~ msgid "Digital Surround 5.1 (IEC958/AC3)"
#~ msgstr "Digital Envolvente 5.1 (IEC958/AC3)"
-
#~ msgid "Analog Surround 7.1"
#~ msgstr "Análogo Envolvénte 7.1"
-
#~ msgid "Output %s + Input %s"
#~ msgstr "Salida %s + Entrada %s"
-
#~ msgid "Output %s"
#~ msgstr "Salida %s"
-
#~ msgid "Input %s"
#~ msgstr "Entrada %s"
-
#~ msgid "Stream successfully created\n"
#~ msgstr "Se ha creado el flujo exitosamente\n"
-
#~ msgid "Stream errror: %s\n"
#~ msgstr "Error de flujo: %s\n"
-
#~ msgid "Connection established.\n"
#~ msgstr "Conección establecida.\n"
-
#~ msgid ""
#~ "%s [options] [FILE]\n"
#~ "\n"
@@ -2521,7 +2341,6 @@ msgstr "Servidor de Sonido PulseAudio"
#~ "(linear)en el rango de 0...65536\n"
#~ " --channel-map=CHANNELMAP Establece el mapa del canal para "
#~ "el uso\n"
-
#~ msgid ""
#~ "paplay %s\n"
#~ "Compiled with libpulse %s\n"
@@ -2530,16 +2349,12 @@ msgstr "Servidor de Sonido PulseAudio"
#~ "paplay %s\n"
#~ "Compilado con libpulse %s\n"
#~ "Linked con libpulse %s\n"
-
#~ msgid "Invalid channel map\n"
#~ msgstr "Mapa de canal inválido\n"
-
#~ msgid "Failed to open file '%s'\n"
#~ msgstr "Error al intentar abrir el archivo '%s'\n"
-
#~ msgid "Channel map doesn't match file.\n"
#~ msgstr "El mapa del canal no se corresponde con el archivo.\n"
-
#~ msgid "Using sample spec '%s'\n"
#~ msgstr "Utilizando especificaciones de muestra '%s'\n"
@@ -2558,7 +2373,6 @@ msgstr "Servidor de Sonido PulseAudio"
#, fuzzy
#~ msgid "--log-time boolean argument"
#~ msgstr "--disallow-exit argumento booleano"
-
#~ msgid ""
#~ "' and PolicyKit refuse to grant us priviliges. Dropping SUID again.\n"
#~ "For enabling real-time scheduling please acquire the appropriate "
@@ -2567,27 +2381,21 @@ msgstr "Servidor de Sonido PulseAudio"
#~ "' y PolicyKit se niega a darnos privilegios. Abandonando SUID de nuevo.\n"
#~ "Para permitir planificación en tiempo real, por favor adquiera los "
#~ "privilegios de PolicyKit adecuados, o forme parte de '"
-
#~ msgid ""
#~ "', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this "
#~ "user."
#~ msgstr ""
#~ "', o incremente los límites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para "
#~ "ese usuario. "
-
#~ msgid "Default sink name (%s) does not exist in name register."
#~ msgstr ""
#~ "El nombre de destino por defecto (%s) no existe en el registro de nombres."
-
#~ msgid "Buffer overrun, dropping incoming data\n"
#~ msgstr "Búfer desbordado, abandonando datos entrantes\n"
-
#~ msgid "pa_stream_drop() failed: %s\n"
#~ msgstr "pa_stream_drop() falló: %s\n"
-
#~ msgid "muted"
#~ msgstr "mudo"
-
#~ msgid ""
#~ "*** Autoload Entry #%u ***\n"
#~ "Name: %s\n"
@@ -2600,9 +2408,7 @@ msgstr "Servidor de Sonido PulseAudio"
#~ "Tipo: %s\n"
#~ "Módulo: %s\n"
#~ "Argumento: %s\n"
-
#~ msgid "sink"
#~ msgstr "destino"
-
#~ msgid "source"
#~ msgstr "fuente"
diff --git a/po/fi.po b/po/fi.po
index c005658d..0502ea65 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: git trunk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-05 16:24+0300\n"
"Last-Translator: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>\n"
"Language-Team: Finnish <laatu@lokalisointi.org>\n"
@@ -16,7 +16,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -28,7 +33,7 @@ msgstr ""
"Tämä on todennäköisesti ohjelmavirhe ALSA-ajurissa â€%sâ€. Ilmoita tästä "
"ongelmasta ALSA-kehittäjille."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -41,7 +46,7 @@ msgstr ""
"Tämä on todennäköisesti ohjelmavirhe ALSA-ajurissa â€%sâ€. Ilmoita tästä "
"ongelmasta ALSA-kehittäjille."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -67,7 +72,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Sisäinen äänentoisto"
@@ -87,220 +92,92 @@ msgstr "Uuden dl-lataaminen varaaminen epäonnistui."
msgid "Failed to add bind-now-loader."
msgstr "bind-now-loaderin lisääminen epäonnistui."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Järjestelmäväylään ei voida yhdistää: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Kutsujaa ei saada PID:stä: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "UID:tä ei voida asettaa kutsujaobjektille."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK-istunnon saaminen epäonnistui."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "UID:tä ei voida asettaa istunto-objektille."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Ei voida varata PolKitActionia."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Ei voida asettaa action_id:tä"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Ei voida varata PolKitContextia."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Ei voida alustaa PolKitContextia: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Ei voida päätellä onko kutsujalla käyttöoikeus: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Tunnistautumista ei saada: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit vastasi â€%sâ€"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Saatiin signaali %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Poistutaan."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Käyttäjää â€%s†ei löydetty."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Ryhmää â€%s†ei löydetty."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Löydettiin käyttäjä â€%s†(UID %lu) ja ryhmä â€%s†(GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "Käyttäjän â€%s†ja ryhmän â€%s†GID:t eivät vastaa toisiaan."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Käyttäjän â€%s†kotihakemisto ei ole â€%sâ€, ohitetaan."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Hakemiston â€%s†luominen epäonnistui: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Ryhmäluettelon vaihtaminen epäonnistui: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID:n vaihtaminen epäonnistui: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID:n vaihtaminen epäonnistui: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Root-oikeuksista luopuminen onnistui."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Järjestelmänlaajuista tilaa ei tueta tällä alustalla."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) epäonnistui: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Komentorivin jäsentäminen epäonnistui."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "Ollaan ryhmässä â€%sâ€, korkean prioriteetin ajoitus on sallittua."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "Ollaan ryhmässä â€%sâ€, tosiaikainen vuorottaminen on sallittua."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit myöntää acquire-high-priority-oikeuden."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit ei myönnä acquire-high-priority-oikeutta."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit myöntää acquire-real-time-oikeuden."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit ei myönnä acquire-real-time-oikeutta."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Ohjelmaa kutsuttiin SUID-rootina ja reaaliaikaista ja/tai korkean "
-"prioriteetin ajoitusta pyydettiin asetuksissa. Tarvittavat oikeudet "
-"kuitenkin puuttuvat:\n"
-"Ei olla ryhmässä â€%sâ€, PolicyKit ei myönnä pyydettyjä oikeuksia ja "
-"RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja ei ole kasvatettu.\n"
-"Hanki riittävät PolicyKit-oikeudet, liity ryhmään â€%s†tai kasvata tämän "
-"käyttäjän RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja reaaliaikaisen ja/tai "
-"korkean prioriteetin ajoituksen ottamiseksi käyttöön."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Korkean prioriteetin ajoitus otettu käyttöön asetuksissa, mutta käytännöt "
-"eivät salli sitä."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO:n kasvatus onnistui"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO epäonnistui: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Luovutaan CAP_NICE:stä"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Tosiaikainen ajoitus otettu käyttöön asetuksissa, mutta käytännöt eivät "
-"salli sitä."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Taustaprosessi ei ole käynnissä"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Taustaprosessi käynnissä prosessitunnisteella %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Taustaprosessin lopettaminen epäonnistui: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -308,156 +185,156 @@ msgstr ""
"Tätä ohjelmaa ei ole tarkoitettu suoritettavaksi pääkäyttäjänä (ellei --"
"system ole määritelty)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Pääkäyttäjän (root) oikeudet vaaditaan."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start-valitsinta ei tueta järjestelmätilassa."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr ""
"Suoritetaan järjestelmätilassa, mutta --disallow-exit ei ole asetettuna!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"Suoritetaan järjestelmätilassa, mutta -disallow-module-loading ei ole "
"asetettuna!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr ""
"Suoritetaan järjestelmätilassa, otetaan SHM-tila pakotetusti pois käytöstä."
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"Suoritetaan järjestelmätilassa, otetaan poistumisen joutenoloaika "
"pakotetusti pois käytöstä."
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio:n saaminen epäonnistui."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "putki epäonnistui: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() epäonnistui: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() epäonnistui: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Taustaprosessin käynnistys epäonnistui."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Taustaprosessin käynnistys onnistui."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Tämä on PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Käännöksen isäntäkone: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "Käännösaikaiset C-liput (CFLAGS): %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Käynnissä isäntäkoneella: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Löydettiin %u CPU:ta."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Sivun koko on %lu tavua"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Käännetty Valgrind-tuella: kyllä"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Käännetty Valgrind-tuella: ei"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Käynnissä valgrind-tilassa: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimoitu rakentaminen: kyllä"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Optimoitu rakentaminen: ei"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG on määritelty, kaikki assertit ovat poissa käytöstä."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH on määritelty, vain fast path -assertit ovat poissa käytöstä."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Kaikki assertit ovat käytössä."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Konetunnisteen nouto epäonnistui"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "Konetunniste on %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "Konetunniste on %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Käytetään ajonaikaista hakemistoa %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Käytetään tilahakemistoa %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Suoritetaan järjestelmätilassa: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -467,15 +344,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() epäonnistui."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Korkean tarkkuuden ajastimet käytettävissä."
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -483,29 +360,29 @@ msgstr ""
"Hei, ytimesi on kehno! Linux korkean tarkkuuden ajastimien tuella on hyvin "
"suositeltava!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() epäonnistui."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Taustaprosessin alustus epäonnistui."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr ""
"Taustaprosessin käynnistys ilman ladattavia moduuleita, kieltäydytään "
"toiminnasta."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Taustaprosessin käynnistys valmis."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Taustaprosessin sulkeminen käynnistetty."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Taustaprosessi lopetettu."
@@ -854,14 +731,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Luettu asetustiedostosta: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Luovutaan pääkäyttäjän oikeuksista."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "Oikeuksien rajoittaminen CAP_SYS_NICEen onnistui."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio-äänijärjestelmä"
@@ -870,29 +743,6 @@ msgstr "PulseAudio-äänijärjestelmä"
msgid "Start the PulseAudio Sound System"
msgstr "Käynnistä PulseAudio-äänijärjestelmä"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"Korkean prioriteetin ajoitus (negatiivinen Unix-nice-taso) PulseAudio-"
-"taustajärjestelmälle"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Reaaliaikainen ajoitus PulseAudio-taustajärjestelmälle"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"Järjestelmäkäytäntö estää PulseAudiota saamasta korkean prioriteetin "
-"ajoitusta."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"Järjestelmäkäytäntö estää PulseAudiota saamasta reaaliaikaista ajoitusta."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1265,183 +1115,187 @@ msgstr "Evästetietojen jäsennys epäonnistui"
msgid "Failed to open configuration file '%s': %s"
msgstr "Asetustiedoston avaaminen epäonnistui: â€%sâ€: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Ei ladattua evästettä. Yritetään yhdistämistä ilman."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Saatiin viesti tuntemattomalle laajennokselle â€%sâ€"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Virran tyhjentäminen epäonnistui: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Toistovirta on tyhjennetty.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Tyhjennetään yhteyttä palvelimelle.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() epäonnistui: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() epäonnistui: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() epäonnistui: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Virran luonti onnistui.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() epäonnistui: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Puskuritiedot: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Puskuritiedot: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "Käytetään näytemäärittelyä â€%sâ€, kanavakarttaa â€%sâ€.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "Yhdistetty laitteeseen %s (%u, %ssuspended).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Virtavirhe: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Virtalaite keskeytetty.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Virtalaite palautettu.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Virran alivuoto.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Virran ylivuoto.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Virta käynnistetty.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Virta siirretty laitteelle %s (%u, %ssuspended).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "ei "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "Virran puskuriattribuutteja muutettu.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Yhteys muodostettu.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() epäonnistui: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() epäonnistui: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() epäonnistui: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Yhteysvirhe: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Saatiin EOF.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() epäonnistui: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "Saatiin EOF.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() epäonnistui: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Saatiin signaali, lopetetaan.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Latenssin selvittäminen epäonnistui: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Aika: %0.3f s; latenssi: %0.0f μs. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() epäonnistui: %s\n"
#: ../src/utils/pacat.c:605
@@ -1561,34 +1415,34 @@ msgstr ""
"Käännetty libpulsen versiolle %s\n"
"Linkitetty libpulsen versiolle %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "Virheellinen kanavakartta â€%sâ€\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "Virheellinen uudelleennäytteistyksen tapa â€%sâ€."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Virheellinen kanavakartta â€%sâ€\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Virheellinen latenssimääritys â€%sâ€\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Virheellinen prosessiajan määritys â€%sâ€\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "Virheellinen uudelleennäytteistyksen tapa â€%sâ€."
#: ../src/utils/pacat.c:878
@@ -1597,60 +1451,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Virheellinen näytemääritys\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Liian monta argumenttia.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "Näytetietojen nouto epäonnistui: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Äänitiedoston avaaminen epäonnistui.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "Avataan %svirta näytemäärityksellä â€%sâ€.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "Näytetietojen nouto epäonnistui: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Avataan %svirta näytemäärityksellä â€%sâ€.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "Kanavakartta ei vastaa näytemääritystä\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Avataan %svirta näytemäärityksellä â€%sâ€.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "Avataan %svirta näytemäärityksellä â€%sâ€.\n"
#: ../src/utils/pacat.c:1006
@@ -1661,35 +1521,34 @@ msgstr "nauhoitus"
msgid "playback"
msgstr "toisto"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() epäonnistui.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() epäonnistui.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() epäonnistui.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() epäonnistui: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() epäonnistui.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() epäonnistui.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() epäonnistui.\n"
#: ../src/utils/pasuspender.c:81
@@ -1717,6 +1576,11 @@ msgstr "Palautus epäonnistui: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "VAROITUS: Äänipalvelin ei ole paikallinen, ei keskeytetä.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Yhteysvirhe: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1757,6 +1621,21 @@ msgstr ""
"Käännetty libpulsen versiolle %s\n"
"Linkitetty libpulsen versiolle %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() epäonnistui.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() epäonnistui.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() epäonnistui.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2171,6 +2050,11 @@ msgstr ""
"Käännetty libpulsen versiolle %s\n"
"Linkitetty libpulsen versiolle %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Virheellinen kanavakartta â€%sâ€\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Anna ladattava näytetiedosto\n"
@@ -2179,6 +2063,11 @@ msgstr "Anna ladattava näytetiedosto\n"
msgid "Failed to open sound file.\n"
msgstr "Äänitiedoston avaaminen epäonnistui.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Näytetietojen nouto epäonnistui: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2238,11 +2127,6 @@ msgstr "Kortin nimi/indeksi ja profiilin nimi on annettava\n"
msgid "No valid command specified.\n"
msgstr "Mitään kelvollista komentoa ei annettu.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() epäonnistui: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2361,11 +2245,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Automaattisen käynnistyksen lukkoa ei voida käyttää."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2382,7 +2266,7 @@ msgstr ""
"asetettuna, snd_pcm_avail() palautti kuitenkin 0 tai jonkin muun arvon, "
"joka on < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2399,15 +2283,15 @@ msgstr ""
"snd_pcm_avail() palautti kuitenkin 0 tai jonkin muun arvon, on < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Poissa"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Korkean äänenlaadun toisto (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr ""
@@ -2415,6 +2299,136 @@ msgstr ""
msgid "PulseAudio Sound Server"
msgstr "PulseAudio-äänipalvelin"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Järjestelmäväylään ei voida yhdistää: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Kutsujaa ei saada PID:stä: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "UID:tä ei voida asettaa kutsujaobjektille."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK-istunnon saaminen epäonnistui."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "UID:tä ei voida asettaa istunto-objektille."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Ei voida varata PolKitActionia."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Ei voida asettaa action_id:tä"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Ei voida varata PolKitContextia."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Ei voida alustaa PolKitContextia: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Ei voida päätellä onko kutsujalla käyttöoikeus: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Tunnistautumista ei saada: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit vastasi â€%sâ€"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Korkean prioriteetin ajoitus (negatiivinen Unix-nice-taso) PulseAudio-"
+#~ "taustajärjestelmälle"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Reaaliaikainen ajoitus PulseAudio-taustajärjestelmälle"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Järjestelmäkäytäntö estää PulseAudiota saamasta korkean prioriteetin "
+#~ "ajoitusta."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "Järjestelmäkäytäntö estää PulseAudiota saamasta reaaliaikaista ajoitusta."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() epäonnistui: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "Ollaan ryhmässä â€%sâ€, korkean prioriteetin ajoitus on sallittua."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "Ollaan ryhmässä â€%sâ€, tosiaikainen vuorottaminen on sallittua."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit myöntää acquire-high-priority-oikeuden."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit ei myönnä acquire-high-priority-oikeutta."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit myöntää acquire-real-time-oikeuden."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit ei myönnä acquire-real-time-oikeutta."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Ohjelmaa kutsuttiin SUID-rootina ja reaaliaikaista ja/tai korkean "
+#~ "prioriteetin ajoitusta pyydettiin asetuksissa. Tarvittavat oikeudet "
+#~ "kuitenkin puuttuvat:\n"
+#~ "Ei olla ryhmässä â€%sâ€, PolicyKit ei myönnä pyydettyjä oikeuksia ja "
+#~ "RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja ei ole kasvatettu.\n"
+#~ "Hanki riittävät PolicyKit-oikeudet, liity ryhmään â€%s†tai kasvata tämän "
+#~ "käyttäjän RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja reaaliaikaisen ja/tai "
+#~ "korkean prioriteetin ajoituksen ottamiseksi käyttöön."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "Korkean prioriteetin ajoitus otettu käyttöön asetuksissa, mutta käytännöt "
+#~ "eivät salli sitä."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO:n kasvatus onnistui"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO epäonnistui: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Luovutaan CAP_NICE:stä"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "Tosiaikainen ajoitus otettu käyttöön asetuksissa, mutta käytännöt eivät "
+#~ "salli sitä."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "Oikeuksien rajoittaminen CAP_SYS_NICEen onnistui."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() epäonnistui.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Analoginen mono"
diff --git a/po/fr.po b/po/fr.po
index ca8e2b80..a6bcdb6e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio trunk\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-26 17:22+0200\n"
"Last-Translator: Corentin Perard <corentin.perard@gmail.com>\n"
"Language-Team: French <fedora-trans-fr@redhat.com>\n"
@@ -20,7 +20,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -33,7 +38,7 @@ msgstr ""
"Il s'agit très probablement d'un bogue dans le pilote ALSA « %s ». Veuillez "
"rapporter ce problème aux développeurs d'ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -46,7 +51,7 @@ msgstr ""
"Il s'agit très probablement d'un bogue dans le pilote ALSA « %s ». Veuillez "
"rapporter ce problème aux développeurs d'ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -72,7 +77,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Audio interne"
@@ -92,226 +97,93 @@ msgstr "Échec lors de l'allocation du nouveau chargeur dl."
msgid "Failed to add bind-now-loader."
msgstr "Échec lors de l'ajout du chargeur bind-now."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Impossible de se connecter au bus système : %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Impossible d'obtenir le programme appelant à partir du PID : %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Impossible de définir un UID sur l'objet appelant."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Échec lors de l'obtention de la session CK."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Impossible de définir l'UID sur l'objet de session."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Impossible d'allouer PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Impossible de définir action_id."
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Impossible d'allouer PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Impossible d'initialiser PolKitContext : %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Impossible de déterminer si le programme appelant est autorisé : %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Impossible d'obtenir l'authentification : %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit a renvoyé « %s »"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Signal %s obtenu."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Fermeture."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Impossible de trouver l'utilisateur « %s »."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Impossible de trouver le groupe « %s »."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Utilisateur « %s †(UID %lu) et groupe « %s » (GID %lu) trouvé."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr ""
"Le GID de l'utilisateur « %s » et du groupe « %s » ne sont pas identiques."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Le dossier personnel de l'utilisateur « %s » n'est pas « %s », ignoré."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Échec lors de la création de « %s » : %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Échec lors du changement de la liste du groupe : %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Échec lors du changement de GID : %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Échec lors du changement d'UID : %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Les privilèges root ont été correctement abandonnés."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Mode système étendu non pris en charge sur cette plateforme."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) a échoué : %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Échec lors de l'analyse de la ligne de commande"
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Nous sommes dans le groupe « %s », permettant une planification à haute "
-"priorité."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-"Nous sommes dans le groupe « %s », permettant un ordonnancement en temps réel."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit a accordé l'acquisition des permissions de haute priorité."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit a refusé l'acquisition des permissions de haute priorité."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit a accordé l'acquisition des permissions de temps réel."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit a refusé l'acquisition des permissions de temps réel."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Le SUID root et l'ordonnancement en temps réel et/ou haute priorité ont été "
-"spécifiés dans la configuration. Cependant, il nous manque les privilèges "
-"nécessaires :\n"
-"Nous ne sommes pas dans le groupe « %s », PolicyKit refuse de nous accorder "
-"les privilèges demandés et nous devons augmenter les limites de ressources "
-"RLIMIT_NICE/RLIMIT_RTPRIO.\n"
-"Pour activer l'ordonnancement en temps réel/haute priorité, veuillez "
-"acquérir les privilèges PolicyKit apropriés, ou devenir membre de « %s », ou "
-"augmenter les limites de ressources RLIMIT_NICE/RLIMIT_RTPRIO pour cet "
-"utilisateur."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"La planification à haute priorité est activée dans la configuration mais "
-"n'est pas permise par la politique."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "Augmentation de RLIMIT_RTPRIO réussie"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO a échoué : %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Abandon de CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"La planification en temps réel est activée mais n'est pas permise par la "
-"politique."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Lé démon n'est pas lancé"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Le démon est lancé avec le PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Impossible de tuer le démon : %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -319,156 +191,156 @@ msgstr ""
"Le programme n'est pas conçu pour être lancé en tant que root (sauf si --"
"system est renseigné)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Les privilèges root sont nécessaires."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start n'est pas pris en charge pour les instances système."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr ""
"Le démon s'exécute en mode système, mais --disallow-exit n'est pas défini."
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"Le démon s'exécute en mode système, mais --disallow-module-loading n'est pas "
"défini."
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "Le démon s'exécute en mode système, désactivation forcée du mode SHM."
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"Le démon s'exécute en mode système, désactivation forcée de la fermeture "
"après délai d'inactivité."
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Échec lors de l'acquisition de stdio."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "Échec du tube : %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "Échec de fork() : %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "Échec de read() : %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Échec lors du démarrage du démon."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Démarrage du démon réussi."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Pulseaudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Hôte de compilation : %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "CFLAGS de compilation : %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Exécution sur l'hôte : %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u processeurs trouvés."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "La taille de la page est de %lu octets"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Compilé avec la prise en charge Valgrind : oui"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Compilé avec la prise en charge Valgrind : non"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Exécution en mode valgrind : %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Construction optimisée : oui"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Construction optimisée : non"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG défini, tous les messages d'erreur sont désactivés."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr ""
"FASTPATH défini, seuls les messages d'erreur fastpath ont été désactivés."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Tous les messages d'erreur sont activés."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Échec lors de l'obtention de l'ID de la machine"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "L'ID de la machine est %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "L'ID de la machine est %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Utilisation du répertoire d'exécution %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Utilisation du répertoire d'état %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Exécution en mode système : %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -478,16 +350,16 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "Échec de pa_pid_file_create()."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr ""
"De nouvelles horloges à haute résolution sont disponibles ! Bon appétit !"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -495,27 +367,27 @@ msgstr ""
"Eh mec, ton noyau il pue ! La recommandation d'aujourd'hui du patron est "
"d'activer les horloges à haute résolution sur ton Linux."
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "Échec de pa_core_new()."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Échec lors de l'initialisation du démon"
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Démarrage du démon sans aucun module chargé : refus de fonctionner."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Démarrage du démon effectué."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Fermeture du démon initiée."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Démon terminé."
@@ -869,14 +741,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Lecture à partir du fichier de configuration : %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Abandon des privilèges root."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "Limitation des capacités à CAP_SYS_NICE réussie."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "Système de son PulseAudio"
@@ -885,30 +753,6 @@ msgstr "Système de son PulseAudio"
msgid "Start the PulseAudio Sound System"
msgstr "Démarrer le système de son PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"Ordonnancement haute priorité (niveau Unix « nice » négatif) pour le démon "
-"PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Ordonnancement en temps réel pour le démon PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"La politique du système empêche PulseAudio d'acquérir un ordonnancement "
-"haute priorité"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"La politique du système empêche PulseAudio d'acquérir un ordonnancement en "
-"temps réel"
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1281,186 +1125,190 @@ msgstr "Échec lors de l'analyse des données du cookie"
msgid "Failed to open configuration file '%s': %s"
msgstr "Échec lors de l'ouverture du fichier de configuration « %s » :%s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Aucun cookie chargé. Tentative de connexion sans celui-ci."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork() : %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid() : %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Message reçu pour une extension inconnue « %s »"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Échec lors du vidage du flux : %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Flux de lecture vidé.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Vidage de la connexion au serveur.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain() : %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "Échec de pa_stream_write() : %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "Échec de pa_stream_write() : %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "Échec de pa_stream_peek() : %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Création du flux réussie.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "Échec de pa_stream_get_buffer_attr() : %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Mesures du tampon : maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Mesures du tampon : maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr ""
"Utilisation de la spécification d'échantillon « %s », plan des canaux « %s ».\n"
# l'espace manquant entre %s et suspended est voulu
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "Connecté au périphérique %s (%u, %ssuspendu).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Erreur du flux : %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Périphérique de flux suspendu %s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Périphérique de flux repris %s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Flux vide %s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Flux saturé %s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Flux démarré %s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Flux déplacé vers le périphérique %s (%u, %ssuspendu).%s \n"
# suspendu ou non suspendu
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "non "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "Des attributs du tampon de flux ont changé. %s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Connection établie.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "Échec de pa_stream_new() : %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "Échec de pa_stream_connect_playback() : %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "Échec de pa_stream_connect_record() : %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Échec lors de la connexion : %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF obtenu.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "Échec de read() : %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF obtenu.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "Échec de write() : %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Signal obtenu, fermeture.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Échec lors de l'obtention de la latence : %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Durée : %0.3f s ; Latency : %0.0f µs. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "Échec de pa_stream_update_timing_info() : %s\n"
# downmix = par ex. convertir 5 canaux en 2 canaux
@@ -1588,34 +1436,34 @@ msgstr ""
"Compilé avec libpulse %s\n"
"Lié avec libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "Plan des canaux invalide « %s »\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "Méthode de rééchantillonnage invalide « %s »."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Plan des canaux invalide « %s »\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Spécification de latence invalide « %s »\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Spécification de temps de traitement invalide « %s »\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "Méthode de rééchantillonnage invalide « %s »."
#: ../src/utils/pacat.c:878
@@ -1624,61 +1472,67 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Spécification d'échantillon invalide\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open() : %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2() : %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Trop de paramètres.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "Échec lors de l'obtention des informations de l'échantillon : %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Échec lors de l'ouverture du fichier audio.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "Échec lors de l'obtention des informations de l'échantillon : %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr ""
"Le plan des canaux ne correspond pas à la spécification d'échantillon\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n"
#: ../src/utils/pacat.c:1006
@@ -1689,35 +1543,34 @@ msgstr "enregistrement"
msgid "playback"
msgstr "lecture"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "Échec de pa_mainloop_new().\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "Échec de io_new().\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "Échec de pa_context_new().\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "Échec de pa_context_connect() : %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "Échec de time_new().\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "Échec de pa_context_new().\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "Échec de pa_mainloop_run().\n"
#: ../src/utils/pasuspender.c:81
@@ -1746,6 +1599,11 @@ msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr ""
"AVERTISSEMENT : le serveur de son n'est pas local, suspension annulée.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Échec lors de la connexion : %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1786,6 +1644,21 @@ msgstr ""
"Compilé avec libpulse %s\n"
"Lié avec libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "Échec de pa_mainloop_new().\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "Échec de pa_context_new().\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "Échec de pa_mainloop_run().\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2209,6 +2082,11 @@ msgstr ""
"Compilé avec libpulse %s\n"
"Lié avec libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Plan des canaux invalide « %s »\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Veuillez indiquer un fichier d'échantillon à charger\n"
@@ -2217,6 +2095,11 @@ msgstr "Veuillez indiquer un fichier d'échantillon à charger\n"
msgid "Failed to open sound file.\n"
msgstr "Échec lors de l'ouverture du fichier audio.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Échec lors de l'obtention des informations de l'échantillon : %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2281,11 +2164,6 @@ msgstr "Vous devez indiquer un nom/un index de carte et un nom de profil\n"
msgid "No valid command specified.\n"
msgstr "Aucune commande valide indiquée.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "Échec de pa_context_connect() : %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2406,11 +2284,11 @@ msgstr "read() : %s"
msgid "write(): %s"
msgstr "write() : %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Impossible d'accèder au verrou autonome."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2427,7 +2305,7 @@ msgstr ""
"le jeu POLLOUT -- cependant un snd_pcm_avail() ultérieur a retourné 0 ou une "
"autre valeur < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2445,15 +2323,15 @@ msgstr ""
"autre valeur < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Éteint"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Lecture haute fidélité (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Telephonie en duplex (HSP/HFP)"
@@ -2461,6 +2339,144 @@ msgstr "Telephonie en duplex (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "Serveur de son PulseAudio"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Impossible de se connecter au bus système : %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Impossible d'obtenir le programme appelant à partir du PID : %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Impossible de définir un UID sur l'objet appelant."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Échec lors de l'obtention de la session CK."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Impossible de définir l'UID sur l'objet de session."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Impossible d'allouer PolKitAction."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Impossible de définir action_id."
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Impossible d'allouer PolKitContext."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Impossible d'initialiser PolKitContext : %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Impossible de déterminer si le programme appelant est autorisé : %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Impossible d'obtenir l'authentification : %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit a renvoyé « %s »"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Ordonnancement haute priorité (niveau Unix « nice » négatif) pour le démon "
+#~ "PulseAudio"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Ordonnancement en temps réel pour le démon PulseAudio"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "La politique du système empêche PulseAudio d'acquérir un ordonnancement "
+#~ "haute priorité"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "La politique du système empêche PulseAudio d'acquérir un ordonnancement "
+#~ "en temps réel"
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "Échec de read() : %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "Échec de pa_context_connect() : %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Nous sommes dans le groupe « %s », permettant une planification à haute "
+#~ "priorité."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "Nous sommes dans le groupe « %s », permettant un ordonnancement en temps "
+#~ "réel."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr ""
+#~ "PolicyKit a accordé l'acquisition des permissions de haute priorité."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit a refusé l'acquisition des permissions de haute priorité."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit a accordé l'acquisition des permissions de temps réel."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit a refusé l'acquisition des permissions de temps réel."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Le SUID root et l'ordonnancement en temps réel et/ou haute priorité ont "
+#~ "été spécifiés dans la configuration. Cependant, il nous manque les "
+#~ "privilèges nécessaires :\n"
+#~ "Nous ne sommes pas dans le groupe « %s », PolicyKit refuse de nous "
+#~ "accorder les privilèges demandés et nous devons augmenter les limites de "
+#~ "ressources RLIMIT_NICE/RLIMIT_RTPRIO.\n"
+#~ "Pour activer l'ordonnancement en temps réel/haute priorité, veuillez "
+#~ "acquérir les privilèges PolicyKit apropriés, ou devenir membre de « %s », "
+#~ "ou augmenter les limites de ressources RLIMIT_NICE/RLIMIT_RTPRIO pour cet "
+#~ "utilisateur."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "La planification à haute priorité est activée dans la configuration mais "
+#~ "n'est pas permise par la politique."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "Augmentation de RLIMIT_RTPRIO réussie"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO a échoué : %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Abandon de CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "La planification en temps réel est activée mais n'est pas permise par la "
+#~ "politique."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "Limitation des capacités à CAP_SYS_NICE réussie."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "Échec de time_new().\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Mono analogique"
diff --git a/po/gu.po b/po/gu.po
index 437cd1cd..66837d83 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-07 14:27+0530\n"
"Last-Translator: Sweta Kothari <swkothar@redhat.com>\n"
"Language-Team: Gujarati\n"
@@ -17,7 +17,12 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -29,7 +34,7 @@ msgstr ""
"ALSA ડà«àª°àª¾àª‡àªµàª° '%s' માં મોટેભાગે આ ભૂલ જેવૠછે. ALSA ડેવલà«àªªàª°à«‹àª®àª¾àª‚ આ સમસà«àª¯àª¾àª¨à«‡ મહેરબાની કરીને "
"અહેવાલ કરો."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -42,7 +47,7 @@ msgstr ""
"ALSA ડà«àª°àª¾àª‡àªµàª° '%s' માં મોટેભાગે આ ભૂલ જેવૠછે. ALSA ડેવલà«àªªàª°à«‹àª®àª¾àª‚ આ સમસà«àª¯àª¾àª¨à«‡ મહેરબાની કરીને "
"અહેવાલ કરો."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -68,7 +73,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "આંતરિક ઓડિયો"
@@ -88,369 +93,244 @@ msgstr "નવા dl લોડરને ફાળવવાનà«àª‚ નિષà«
msgid "Failed to add bind-now-loader."
msgstr "bind-now-loader ને ઉમેરવાનà«àª‚ નિષà«àª«àª³."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "સિસà«àªŸàª® બસને જોડી શકાતૠનથી: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID માંથી કોલરને મેળવી શકાતૠનથી: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "કોલર ઓબà«àªœà«‡àª•à«àªŸ પર UID ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK સતà«àª°àª¨à«‡ મેળવવામાં નિષà«àª«àª³."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "સતà«àª° ઓબà«àªœà«‡àª•à«àªŸ પર UID ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction ને ફાળવી શકાતી નથી."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext ને ફાળવી શકાતી નથી."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext નà«àª‚ પà«àª°àª¾àª°àª‚ભ કરી શકાતૠનથી: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "નકà«àª•à«€ કરી શકાયૠનહિં કà«àª¯àª¾àª‚તો કોલર ઠસતà«àª¤àª¾àª§àª¿àª•àª°àª£ થયેલ છે: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "auth મેળવા શકાતૠનથી: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "'%s' સાથે PolicyKit ઠપà«àª°àª¤à«àª¯à«àª¤à«àª¤àª° આપેલ છે"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "સંકેત %s મળà«àª¯à«."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "બહાર નીકળી રહà«àª¯àª¾ છે."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "વપરાશકરà«àª¤àª¾ '%s' ને શોધવામાં નિષà«àª«àª³."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "જૂથ '%s' ને શોધવામાં નિષà«àª«àª³."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "વપરાશકરà«àª¤àª¾ '%s' (UID %lu) અને જૂથ '%s' (GID %lu) શોધાયà«."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "વપરાશકરà«àª¤àª¾ '%s' અને જૂથ '%s' ની GID બંધબેસતૠનથી."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "વપરાશકરà«àª¤àª¾àª“ '%s' ની ઘર ડિરેકà«àªŸàª°à«€ '%s' નથી, અવગણી રહà«àª¯àª¾ છે."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' ને બનાવવામાં નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "જૂથ યાદીને બદલવામાં નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID ને બદલવામાં નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID ને બદલવામાં નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "સફળતાપૂરà«àªµàª• છોડી દીધેલ રà«àªŸ અધિકારો."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "આ પà«àª²à«‡àªŸàª«à«‹àª°à«àª® પર બિનઆધારભૂત સિસà«àªŸàª® વિશાળ સà«àª¥àª¿àª¤àª¿."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "આદેશ વાકà«àª¯àª¨à«‡ પદચà«àª›à«‡àª¦àª¨ કરવામાં નિષà«àª«àª³."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "આપણે જૂથ '%s' માં છીàª, high-priority ગોઠવવાની પરવાનગી આપી રહà«àª¯àª¾ છે."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "આપણે જૂથ '%s' માં છીàª, સાચા સમયે ગોઠવવાની પરવાનગી આપી રહà«àª¯àª¾ છે."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit આપણને acquire-high-priority અધિકારની મંજૂરી આપે છે."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit ઠacquire-high-priority અધિકારને ફરીથી શરૂ કરે છે."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit ઠacquire-real-time અધિકારની મંજૂરી આપે છે."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit ઠacquire-real-time અધિકારને ફરી શરૂ કરે છે."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"કહેવાતી SUID અને real-time અને/અથવા high-priority ગોઠવણી રૂપરેખાંકનમાં સૂચવેલ હતી. "
-"છતાંપણ, આપણને જરૂરી અધિકારો ઓછા પડà«àª¯àª¾:\n"
-"આપણે જૂથ '%s' માં નથી, PolicyKit ઠસૂચિત અધિકારોને આપણને મંજૂરી આપવા માટે માનà«àª¯ કરતૠ"
-"નથી અને આપણે RLIMIT_NICE/RLIMIT_RTPRIO સà«àª¤à«àª°à«‹àª¤ મરà«àª¯àª¾àª¦àª¾àª“ને વધારતા નથી.\n"
-"real-time/high-priority ગોઠવણીને સકà«àª°àª¿àª¯ કરવા માટે મહેરબાની કરીને અનૂકà«àª³ PolicyKit "
-"અધિકારોને મેળવો, અથવા '%s' નાં સભà«àª¯ બનો, અથવા આ વપરાશકરà«àª¤àª¾ માટે RLIMIT_NICE/"
-"RLIMIT_RTPRIO સà«àª¤à«àª°à«‹àª¤ મરà«àª¯àª¾àª¦àª¾àª“ને વધારો."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"High-priority ગોઠવવાનà«àª‚ રૂપરેખાંકનમાં સકà«àª°àª¿àª¯ થયેલ છે પરંતૠપોલિસી દà«àª¦àª¾àª°àª¾ પરવાનગી આપેલ નથી."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "સફળતાપૂરà«àªµàª• વધારેલ RLIMIT_RTPRIO"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO નિષà«àª«àª³: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE ને છોડી રહà«àª¯àª¾ છે"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Real-time ગોઠવવાનà«àª‚ ઠરૂપરેખાંકનમાં સકà«àª°àª¿àª¯ થયેલ છે પરંતૠપોલિસી દà«àª¦àª¾àª°àª¾ પરવાનગી આપેલ નથી."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "ડિમન ચાલી રહà«àª¯à« નથી"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "PID %u તરીકે ડિમન ચાલી રહà«àª¯à« છે"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "ડિમનને મારવાનà«àª‚ નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr ""
"આ પà«àª°àª•à«àª°àª¿àª¯àª¾àª¨à«‡ રà«àªŸ તરીકે ચલાવવા માટે વિચાર થયેલ નથી (નહિં તો --system ઠસà«àªªàª·à«àªŸ થયેલ છે)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "રà«àªŸ અધિકારો જરૂરી છે."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start ઠસિસà«àªŸàª® ઉદાહરણો માટે આધારભૂત નથી."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે, પરંતૠ--disallow-exit સà«àª¯à«‹àªœàª¿àª¤ નથી!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે, પરંતૠ--disallow-module-loading ઠસà«àª¯à«‹àªœàª¿àª¤ નથી!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે, SHM સà«àª¥àª¿àª¤àª¿àª¨à«‡ દબાણપૂરà«àªµàª• નિષà«àª•à«àª°àª¿àª¯ કરી રહà«àª¯àª¾ છે!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે, બહાર નીકળવનાં નિષà«àª•àª¾àª°à«àª¯ સમયને દબાણપૂરà«àªµàª• નિષà«àª•à«àª°àª¿àª¯ કરી "
"રહà«àª¯àª¾ છે!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio ને મેળવવામાં નિષà«àª«àª³."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "પાઇપ નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() નિષà«àª«àª³: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "ડિમન શરૂઆત નિષà«àª«àª³."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "ડિમન શરૂઆત કરવૠસફળ છે."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "આ PulseAudio %s છે"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "કમà«àªªàª¾àª‡àª²à«‡àª¶àª¨ યજમાન: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "કમà«àªªàª¾àª‡àª²à«‡àª¶àª¨ CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "યજમાન પર ચાલી રહà«àª¯à« છે: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPUs શોધાયà«."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "પાનાંનૠમાપ %lu બાઇટો છે"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Valgrind આધાર સાથે કમà«àªªàª¾àª‡àª² થયેલ છે: હા"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Valgrind આધાર સાથે કમà«àªªàª¾àª‡àª² થયેલ છે: ના"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "valgrind સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "શà«àª°à«‡àª·à«àªŸ થયેલ બિલà«àª¡: હા"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "શà«àª°à«‡àª·à«àªŸ થયેલ બિલà«àª¡: ના"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG વà«àª¯àª¾àª–à«àª¯àª¾àª¯àª¿àª¤ થયેલ છે, બધા હકો નિષà«àª•à«àª°àª¿àª¯ થયેલ છે."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH વà«àª¯àª¾àª–à«àª¯àª¾àª¯àª¿àª¤ થયેલ છે, ફકà«àª¤ àªàª¡àªªà«€ પાથનાં હકો નિષà«àª•à«àª°àª¿àª¯ થયેલ છે."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "બધા હકો સકà«àª°àª¿àª¯ થયેલ છે."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "મશીન ID ને મેળવવામાં નિષà«àª«àª³"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "મશીન ID %s છે."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "મશીન ID %s છે."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "રનટાઇમ ડિરેકà«àªŸàª°à«€ %s ને વાપરી રહà«àª¯àª¾ છે."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "સà«àª¥àª¿àª¤àª¿ ડિરેકà«àªŸàª°à«€ %s ને વાપરી રહà«àª¯àª¾ છે."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -460,15 +340,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() નિષà«àª«àª³."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "તાજૠhigh-resolution ટાઇમરો ઉપલà«àª¬àª§ છે! બોન àªàªªà«‡àªŸàª¾àª‡àªŸ!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -476,27 +356,27 @@ msgstr ""
"મિતà«àª°, તમારૠકરà«àª¨àª²àª®àª¾àª‚ ગડબડ છે! રસોઇયાનà«àª‚ આજે ભલામણ ઠસકà«àª°àª¿àª¯ થયેલ high-resolution "
"ટાઇમરો સાથે Linux નà«àª‚ છે!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() નિષà«àª«àª³."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "ડિમનને શરૂ કરવામાં નિષà«àª«àª³."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "કોઇપણ લોડ થયેલ મોડà«àª¯à«àª²à«‹ વગર ડિમનને શરૂ કરો, કામ કરવા માટે ફરી શરૂ કરી રહà«àª¯àª¾ છે."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "ડિમન પારંભ કરવાનà«àª‚ સમાપà«àª¤ છે."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "ડિમનને બંધ કરવાનà«àª‚ પà«àª°àª¾àª°àª‚ભ થયેલ છે."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "ડિમનનો અંત આવેલ છે."
@@ -829,14 +709,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### રૂપરેખાંકન ફાઇલમાંથી વાંચો: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "રà«àªŸ અધિકારોને છોડી રહà«àª¯àª¾ છે."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "CAP_SYS_NICE માં સફળતાપૂરà«àªµàª• મરà«àª¯àª¾àª¦àª¿àª¤ કà«àª·àª®àª¤àª¾àª“."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio સાઉનà«àª¡ સિસà«àªŸàª®"
@@ -845,25 +721,6 @@ msgstr "PulseAudio સાઉનà«àª¡ સિસà«àªŸàª®"
msgid "Start the PulseAudio Sound System"
msgstr "PulseAudio સાઉનà«àª¡ સિસà«àªŸàª®àª¨à«‡ શરૂ કરો"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "PulseAudio ડિમન માટે High-priority ગોઠવણી (નકારાતà«àª®àª• Unix સારૠસà«àª¤àª°)"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio ડિમન માટે Real-time ગોઠવણી"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"high-priority ગોઠવણીને પà«àª°àª¾àªªà«àª¤ કરવા માંથી સિસà«àªŸàª® પોલિસી PulseAudio ને અટકાવે છે."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "real-time ગોઠવણી પà«àª°àª¾àªªà«àª¤ કરવા માંથી સિસà«àªŸàª® પોલિસી ઠPulseAudio ને અટકાવે છે."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "મોનો"
@@ -1236,183 +1093,187 @@ msgstr "કà«àª•à«€àª¨à«€ માહિતીને પદચà«àª›à«‡àª¦àª¨ ક
msgid "Failed to open configuration file '%s': %s"
msgstr "રૂપરેખાંકન ફાઇલ '%s' ને ખોલવામાં નિષà«àª«àª³: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "કà«àª•à«€ લોડ થયેલ નથી. તેનાં વગર જોડવાનો પà«àª°àª¯àª¤à«àª¨ કરી રહà«àª¯àª¾ છે."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "અજà«àªžàª¾àª¤ àªàª•à«àª¸àªŸà«‡àª¨à«àª¶àª¨ '%s' માટે મળેલ સંદેશ"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "સà«àªŸà«àª°à«€àª®àª¨à«‡ નિકાલ કરવામાં નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "પà«àª²à«‡àª¬à«‡àª• સà«àªŸà«àª°à«€àª® ને નિકાલ કરેલ છે.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "સરà«àªµàª°àª®àª¾àª‚ જોડાણને નિકાલ કરી રહà«àª¯àª¾ છે.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() નિષà«àª«àª³: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "સà«àªŸà«àª°à«€àª® સફળતાપૂરà«àªµàª• બનાવેલ છે.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "બફર મેટà«àª°àª¿àª•à«àª¸: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "બફર મેટà«àª°àª¿àª•à«àª¸: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "નમૂનો spec '%s' ને વાપરી રહà«àª¯àª¾ છે, ચેનલ મેપ '%s'.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "ઉપકરણ %s (%u, %ssuspended) સાથે જોડાયેલ છે.\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "સà«àªŸà«àª°à«€àª® ભૂલ: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "સà«àªŸà«àª°à«€àª® ઉપકરણ ને થોડા સમય માટે બંધ રાખેલ છે.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "સà«àªŸà«àª°à«€àª® ઉપકરણને ફરી શરૂ કરેલ છે.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "સà«àªŸà«àª°à«€àª® ચલાવવા હેઠળ છે.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "સà«àªŸà«àª°à«€àª® ઉપર ચાલે છે.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "સà«àªŸà«àª°à«€àª® શરૂ થયેલ છે.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "સà«àªŸà«àª°à«€àª® ઠઉપકરણ %s (%u, %ssuspended) માં ખસેડેલ છે.%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "નથી "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "સà«àªŸà«àª°à«€àª® બફર ગà«àª£àª§àª°à«àª®à«‹ બદલાયેલ છે.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "જોડાણ સà«àª¥àª¾àªªàª¿àª¤ થયેલ છે.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "જોડાણ નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF મળà«àª¯à«.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() નિષà«àª«àª³: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF મળà«àª¯à«.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "સંકેત મળà«àª¯à«àª‚, બહાર નીકળી રહà«àª¯àª¾ છે.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "ગà«àªªà«àª¤àª¤àª¾ મેળવવામાં નિષà«àª«àª³: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Time: %0.3f sec; Latency: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() નિષà«àª«àª³: %s\n"
#: ../src/utils/pacat.c:605
@@ -1534,34 +1395,34 @@ msgstr ""
"libpulse %s સાથે કમà«àªªàª¾àª‡àª² થયેલ છે\n"
"libpulse %s સાથે કડી થયેલ છે\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "અયોગà«àª¯ ચેનલ મેપ '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "અયોગà«àª¯ resample પદà«àª¦àª¤àª¿ '%s'."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "અયોગà«àª¯ ચેનલ મેપ '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "અયોગà«àª¯ ગà«àªªà«àª¤àª¤àª¾ સà«àªªàª·à«àªŸà«€àª•àª°àª£ '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "અયોગà«àª¯ પà«àª°àª•à«àª°àª¿àª¯àª¾ સમય સà«àªªàª·à«àªŸà«€àª•àª°àª£ '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "અયોગà«àª¯ resample પદà«àª¦àª¤àª¿ '%s'."
#: ../src/utils/pacat.c:878
@@ -1570,60 +1431,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "અયોગà«àª¯ નમૂના સà«àªªàª·à«àªŸà«€àª•àª°àª£\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "ઘણી બધી દલીલો છે.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "નમૂના જાણકારી મેળવવામાં નિષà«àª«àª³: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "સાઉનà«àª¡ ફાઇલને ખોલવામાં નિષà«àª«àª³.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "નમૂના સà«àªªàª·à«àªŸà«€àª•àª°àª£ '%s' સાથે %s સà«àªŸà«àª°à«€àª®àª¨à«‡ ખોલી રહà«àª¯àª¾ છે.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "નમૂના જાણકારી મેળવવામાં નિષà«àª«àª³: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "નમૂના સà«àªªàª·à«àªŸà«€àª•àª°àª£ '%s' સાથે %s સà«àªŸà«àª°à«€àª®àª¨à«‡ ખોલી રહà«àª¯àª¾ છે.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "ચેનલ મેપ ઠસà«àªªàª·à«àªŸà«€àª•àª°àª£ નમૂનાને બંધબેસતૠનથી\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "નમૂના સà«àªªàª·à«àªŸà«€àª•àª°àª£ '%s' સાથે %s સà«àªŸà«àª°à«€àª®àª¨à«‡ ખોલી રહà«àª¯àª¾ છે.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "નમૂના સà«àªªàª·à«àªŸà«€àª•àª°àª£ '%s' સાથે %s સà«àªŸà«àª°à«€àª®àª¨à«‡ ખોલી રહà«àª¯àª¾ છે.\n"
#: ../src/utils/pacat.c:1006
@@ -1634,35 +1501,34 @@ msgstr "રેકોરà«àª¡ કરી રહà«àª¯àª¾ છે"
msgid "playback"
msgstr "પà«àª²à«‡àª¬à«‡àª•"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() નિષà«àª«àª³.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() નિષà«àª«àª³.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() નિષà«àª«àª³.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() નિષà«àª«àª³: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() નિષà«àª«àª³.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() નિષà«àª«àª³.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() નિષà«àª«àª³.\n"
#: ../src/utils/pasuspender.c:81
@@ -1690,6 +1556,11 @@ msgstr "ફરી શરૂ કરવામાં નિષà«àª«àª³àª¤àª¾: %s\n
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "ચેતવણી: સાઉનà«àª¡ સરà«àªµàª° ઠસà«àª¥àª¾àª¨àª¿àª• નથી, થોડા સમય માટે બંધ કરવામાં આવà«àª¯à« નથી.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "જોડાણ નિષà«àª«àª³: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1729,6 +1600,21 @@ msgstr ""
"libpulse %s સાથે કમà«àªªàª¾àª‡àª² થયેલ છે\n"
"libpulse %s સાથે કડી થયેલ છે\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() નિષà«àª«àª³.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() નિષà«àª«àª³.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() નિષà«àª«àª³.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2141,6 +2027,11 @@ msgstr ""
"libpulse %s સાથે કમà«àªªàª¾àª‡àª² થયેલ છે\n"
"libpulse %s સાથે કડી થયેલ છે\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "અયોગà«àª¯ ચેનલ મેપ '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "મહેરબાની કરીને લોડ કરવા માટે નમૂના ફાઇલને સà«àªªàª·à«àªŸ કરો\n"
@@ -2149,6 +2040,11 @@ msgstr "મહેરબાની કરીને લોડ કરવા માàª
msgid "Failed to open sound file.\n"
msgstr "સાઉનà«àª¡ ફાઇલને ખોલવામાં નિષà«àª«àª³.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "નમૂના જાણકારી મેળવવામાં નિષà«àª«àª³: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2210,11 +2106,6 @@ msgstr "તમારે કારà«àª¡ નામ/અનà«àª•à«àª°àª®àª£àª¿àª•
msgid "No valid command specified.\n"
msgstr "યોગà«àª¯ આદેશ સà«àªªàª·à«àªŸ થયેલ નથી.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() નિષà«àª«àª³: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2331,11 +2222,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "autospawn તાળાને દાખલ કરી શકાતૠનથી."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2352,7 +2243,7 @@ msgstr ""
"POLLOUT સà«àª¯à«‹àªœàª¨ સાથે આપણે જાગેલ હતા -- છતાંપણ ના પછીનà«àª‚ snd_pcm_avail() ને 0 પાછો મળે "
"છે અથવા બીજી કિંમત < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2370,15 +2261,15 @@ msgstr ""
"છે અથવા બીજી કિંમત < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "બંધ"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "High Fidelity Playback (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Telephony Duplex (HSP/HFP)"
@@ -2386,6 +2277,132 @@ msgstr "Telephony Duplex (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio સાઉનà«àª¡ સરà«àªµàª°"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "સિસà«àªŸàª® બસને જોડી શકાતૠનથી: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID માંથી કોલરને મેળવી શકાતૠનથી: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "કોલર ઓબà«àªœà«‡àª•à«àªŸ પર UID ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK સતà«àª°àª¨à«‡ મેળવવામાં નિષà«àª«àª³."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "સતà«àª° ઓબà«àªœà«‡àª•à«àªŸ પર UID ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction ને ફાળવી શકાતી નથી."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext ને ફાળવી શકાતી નથી."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext નà«àª‚ પà«àª°àª¾àª°àª‚ભ કરી શકાતૠનથી: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "નકà«àª•à«€ કરી શકાયૠનહિં કà«àª¯àª¾àª‚તો કોલર ઠસતà«àª¤àª¾àª§àª¿àª•àª°àª£ થયેલ છે: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "auth મેળવા શકાતૠનથી: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "'%s' સાથે PolicyKit ઠપà«àª°àª¤à«àª¯à«àª¤à«àª¤àª° આપેલ છે"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr "PulseAudio ડિમન માટે High-priority ગોઠવણી (નકારાતà«àª®àª• Unix સારૠસà«àª¤àª°)"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio ડિમન માટે Real-time ગોઠવણી"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "high-priority ગોઠવણીને પà«àª°àª¾àªªà«àª¤ કરવા માંથી સિસà«àªŸàª® પોલિસી PulseAudio ને અટકાવે છે."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "real-time ગોઠવણી પà«àª°àª¾àªªà«àª¤ કરવા માંથી સિસà«àªŸàª® પોલિસી ઠPulseAudio ને અટકાવે છે."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() નિષà«àª«àª³: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() નિષà«àª«àª³: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "આપણે જૂથ '%s' માં છીàª, high-priority ગોઠવવાની પરવાનગી આપી રહà«àª¯àª¾ છે."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "આપણે જૂથ '%s' માં છીàª, સાચા સમયે ગોઠવવાની પરવાનગી આપી રહà«àª¯àª¾ છે."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit આપણને acquire-high-priority અધિકારની મંજૂરી આપે છે."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit ઠacquire-high-priority અધિકારને ફરીથી શરૂ કરે છે."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit ઠacquire-real-time અધિકારની મંજૂરી આપે છે."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit ઠacquire-real-time અધિકારને ફરી શરૂ કરે છે."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "કહેવાતી SUID અને real-time અને/અથવા high-priority ગોઠવણી રૂપરેખાંકનમાં સૂચવેલ હતી. "
+#~ "છતાંપણ, આપણને જરૂરી અધિકારો ઓછા પડà«àª¯àª¾:\n"
+#~ "આપણે જૂથ '%s' માં નથી, PolicyKit ઠસૂચિત અધિકારોને આપણને મંજૂરી આપવા માટે માનà«àª¯ કરતૠ"
+#~ "નથી અને આપણે RLIMIT_NICE/RLIMIT_RTPRIO સà«àª¤à«àª°à«‹àª¤ મરà«àª¯àª¾àª¦àª¾àª“ને વધારતા નથી.\n"
+#~ "real-time/high-priority ગોઠવણીને સકà«àª°àª¿àª¯ કરવા માટે મહેરબાની કરીને અનૂકà«àª³ "
+#~ "PolicyKit અધિકારોને મેળવો, અથવા '%s' નાં સભà«àª¯ બનો, અથવા આ વપરાશકરà«àª¤àª¾ માટે "
+#~ "RLIMIT_NICE/RLIMIT_RTPRIO સà«àª¤à«àª°à«‹àª¤ મરà«àª¯àª¾àª¦àª¾àª“ને વધારો."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "High-priority ગોઠવવાનà«àª‚ રૂપરેખાંકનમાં સકà«àª°àª¿àª¯ થયેલ છે પરંતૠપોલિસી દà«àª¦àª¾àª°àª¾ પરવાનગી આપેલ "
+#~ "નથી."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "સફળતાપૂરà«àªµàª• વધારેલ RLIMIT_RTPRIO"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO નિષà«àª«àª³: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE ને છોડી રહà«àª¯àª¾ છે"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "Real-time ગોઠવવાનà«àª‚ ઠરૂપરેખાંકનમાં સકà«àª°àª¿àª¯ થયેલ છે પરંતૠપોલિસી દà«àª¦àª¾àª°àª¾ પરવાનગી આપેલ "
+#~ "નથી."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "CAP_SYS_NICE માં સફળતાપૂરà«àªµàª• મરà«àª¯àª¾àª¦àª¿àª¤ કà«àª·àª®àª¤àª¾àª“."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() નિષà«àª«àª³.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "àªàª¨àª¾àª²à«‹àª— મોનો"
diff --git a/po/hi.po b/po/hi.po
index 91a27120..e406a5f0 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-06-08 12:01+0530\n"
"Last-Translator: Rajesh Ranjan <rajesh672@gmail.com>\n"
"Language-Team: Hindi <hindi.sf.net>\n"
@@ -20,7 +20,12 @@ msgstr ""
"\n"
"\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -32,7 +37,7 @@ msgstr ""
"अधिक संभव है कि यह ALSA डà¥à¤°à¤¾à¤‡à¤µà¤° '%s' में à¤à¤• बग है. इस मà¥à¤¦à¥à¤¦à¥‡ को ALSA डेवलेपर को रिपोरà¥à¤Ÿ "
"करें."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -44,7 +49,7 @@ msgstr ""
"अधिक संभव है कि यह ALSA डà¥à¤°à¤¾à¤‡à¤µà¤° '%s' में à¤à¤• बग है. इस मà¥à¤¦à¥à¤¦à¥‡ को ALSA डेवलेपर को रिपोरà¥à¤Ÿ "
"करें."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -70,7 +75,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "आंतरिक ऑडियो"
@@ -90,366 +95,242 @@ msgstr "नया dl लोडर आबंटित करने में वà
msgid "Failed to add bind-now-loader."
msgstr "bind-now-loader जोड़ने में विफल."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "तंतà¥à¤° बस से कनेकà¥à¤Ÿ नहीं हो सकता है: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID से कॉलर पाने में विफल: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "UID को कॉलर वसà¥à¤¤à¥ पर सेट नहीं कर सकता है."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK सतà¥à¤° पाने में विफल."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "UID को सतà¥à¤° वसà¥à¤¤à¥ पर सेट नहीं कर सकता है."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction आबंटित नहीं कर सकता है."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id सेट नहीं कर सकता है"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext आबंटित नहीं कर सकता है."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext आरंभ नहीं कर सकता है.: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "निरà¥à¤§à¤¾à¤°à¤¿à¤¤ नहीं कर सकता है कि कà¥à¤¯à¤¾ कॉलर अधिकृत है: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "अधिकार पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं कर सकता है: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit ने '%s' के साथ अनà¥à¤•à¥à¤°à¤¿à¤¯à¤¾ किया"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "%s संकेत पाया."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "बाहर हो रहा है."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "'%s' उपयोकà¥à¤¤à¤¾ ढूंढ़ने में विफल."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "'%s' समूह ढूंढ़ने में विफल."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "'%s' (UID %lu) उपयोकà¥à¤¤à¤¾ व '%s' (GID %lu) समूह पाया."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "'%s' उपयोकà¥à¤¤à¤¾ और '%s' समूह का GID मेल नहीं खाता है"
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "'%s' उपयोकà¥à¤¤à¤¾ की घर निरà¥à¤¦à¥‡à¤¶à¤¿à¤•à¤¾ '%s' नहीं है, अनदेखा कर रहा है."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' बनाने में विफल: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "समूह सूची पाने में विफल: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID बदलने में विफल: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID बदलने में विफल: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "रूट अधिकार सफलतापूरà¥à¤µà¤• छोड़ा."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "इस पà¥à¤²à¥ˆà¤Ÿà¤«à¥‰à¤°à¥à¤® पर असमरà¥à¤¥à¤¿à¤¤ तंतà¥à¤° वà¥à¤¯à¤¾à¤ªà¤• विधि."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) विफल: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "कमांड लाइन विशà¥à¤²à¥‡à¤·à¤£ में विफल."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "हम '%s' समूह में हैं, उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ नियोजन की अनà¥à¤®à¤¤à¤¿ के साथ."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "हम '%s' समूह में हैं, वासà¥à¤¤à¤µà¤¿à¤• समय नियोजन को अनà¥à¤®à¤¤à¤¿ देते हà¥à¤."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ अधिकार अधिगà¥à¤°à¤¹à¤£ हमें देती है."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ अधिकार अधिगà¥à¤°à¤¹à¤£ असà¥à¤µà¥€à¤•à¥ƒà¤¤ करती है."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit हमें देती है वासà¥à¤¤à¤µà¤¿à¤• समय अधिकार अधिगà¥à¤°à¤¹à¤£."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit सà¥à¤µà¥€à¤•à¥ƒà¤¤ करती है वासà¥à¤¤à¤µà¤¿à¤• समय अधिकार अधिगà¥à¤°à¤¹à¤£."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"SUID रूट को आहà¥à¤µà¤¾à¤¨ किया और वासà¥à¤¤à¤µà¤¿à¤• समय/या उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ नियोजन को इस विनà¥à¤¯à¤¾à¤¸ में "
-"निवेदन किया गया था. हालांकि, हमें जरूरी अधिकार कम है:\n"
-"हम '%s' समूह में नहीं है, PolicyKit निवेदित अधिकार हमें देने से मना करता है और हम "
-"RLIMIT_NICE/RLIMIT_RTPRIO संसाधन सीमा को बढ़ाना नहीं है.\n"
-"वासà¥à¤¤à¤µà¤¿à¤• समय/या उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ नियोजन को सकà¥à¤°à¤¿à¤¯ करने के लिठकृपया उचित PolicyKit "
-"अधिकार अधिगà¥à¤°à¤¹à¤¿à¤¤ करें, या '%s' का सदसà¥à¤¯ बनें, RLIMIT_NICE/RLIMIT_RTPRIO संसाधन सीमा "
-"को इस उपयोकà¥à¤¤à¤¾ के लिठबढ़ाà¤à¤."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"विनà¥à¤¯à¤¾à¤¸ में उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ नियोजन सकà¥à¤°à¤¿à¤¯ है लेकिन नीति के दà¥à¤µà¤¾à¤°à¤¾ अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं है."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "सफलतापूरà¥à¤µà¤• बढ़ा हà¥à¤† RLIMIT_RTPRIO"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO विफल: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE छोड़ रहा है"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "विनà¥à¤¯à¤¾à¤¸ में वासà¥à¤¤à¤µà¤¿à¤• समय नियोजन लेकिन नीति के दà¥à¤µà¤¾à¤°à¤¾ अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "डेमॉन नहीं कारà¥à¤¯à¤¶à¥€à¤²"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "डेमॉन बतौर PID %u चल रहा है"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "डेमॉन हटाने में विफल: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr ""
"यह पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤® बतौर रूट चलाने के लिठइचà¥à¤›à¤¿à¤¤ नहीं है (unless --system is specified)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "रूट अधिकार जरूरी."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start not supported for system instances."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "तंतà¥à¤° मोड में चल रहा है, लेकिन --disallow-exit सेट नहीं!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "तंतà¥à¤° मोड में चल रहा है, लेकिन --disallow-module-loading सेट नहीं!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "तंतà¥à¤° मोड में चल रहा है, SHM मोड बाधà¥à¤¯ रूप से निषà¥à¤•à¥à¤°à¤¿à¤¯!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "तंतà¥à¤° मोड में चल रहा है, निकास निषà¥à¤•à¥à¤°à¤¿à¤¯ समय बाधà¥à¤¯ रूप से निषà¥à¤•à¥à¤°à¤¿à¤¯!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio पाने में विफल."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "पाइप विफल: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() विफल: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() विफल: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "डेमॉन आरंभ विफल."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "डेमॉन आरंभ सफल."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "यह पलà¥à¤¸à¤‘डियो %s है."
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Compilation host: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "Compilation CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "मेजबान पर चल रहा है: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPU पाया."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "पृषà¥à¤  आकार %lu बाइट है."
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "वेलगà¥à¤°à¤¿à¤‚ड समरà¥à¤¥à¤¨ से कंपाइल: हाà¤"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "वेलगà¥à¤°à¤¿à¤‚ड समरà¥à¤¥à¤¨ से कंपाइल: नहीं"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "वेलगà¥à¤°à¤¿à¤‚ड विधि में चल रहा है: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "अनà¥à¤•à¥‚लित बिलà¥à¤¡: हाà¤"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "अनà¥à¤•à¥‚लित बिलà¥à¤¡: नहीं"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG परिभाषित, सभी निषà¥à¤•à¥à¤°à¤¿à¤¯."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH परिभाषित, केव तेज पथ à¤à¤¸à¤°à¥à¤Ÿ निषà¥à¤•à¥à¤°à¤¿à¤¯."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "सभी à¤à¤¸à¤°à¥à¤Ÿ सकà¥à¤·à¤®."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "मशीन ID पाने में विफल"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "मशीन ID %s है."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "मशीन ID %s है."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "रनटाइम निरà¥à¤¦à¥‡à¤¶à¤¿à¤•à¤¾ %s का पà¥à¤°à¤¯à¥‹à¤— कर रहा है."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "सà¥à¤Ÿà¥‡à¤Ÿ निरà¥à¤¦à¥‡à¤¶à¤¿à¤•à¤¾ %s का पà¥à¤°à¤¯à¥‹à¤— कर रहा है."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "तंतà¥à¤° मोड में चल रहा है: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -459,42 +340,42 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() विफल."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "ताज़ा उचà¥à¤š विभेदन टाइमर उपलबà¥à¤§! आनंद लें!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
msgstr ""
"आपका करà¥à¤¨à¥‡à¤² बà¥à¤°à¥€ सà¥à¤¥à¤¿à¤¤à¤¿ में है! सलाह है कि उचà¥à¤š विभेदन यà¥à¤•à¥à¤¤ लिनकà¥à¤¸ सकà¥à¤°à¤¿à¤¯ किया जाना चाहिà¤!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() विफल."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "डेमॉन आरंभ करने में विफल."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "बिना लोड मॉडà¥à¤¯à¥‚ल के डेमॉन आरंभ, काम करने से असà¥à¤µà¥€à¤•à¤¾à¤° कर रहा है."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "डेमॉन आरंभन पूरà¥à¤£."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "डेमॉन बनà¥à¤¦ किया जाना आरंभ."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "डेमॉन अवरोधित."
@@ -829,14 +710,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### विनà¥à¤¯à¤¾à¤¸ फ़ाइल से पढ़ें: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "रूट अधिकार छोड़ रहा है."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "CAP_SYS_NICE में सीमित कà¥à¤·à¤®à¤¤à¤¾ सफलतापूरà¥à¤µà¤•."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "पलà¥à¤¸à¤‘डियो धà¥à¤µà¤¨à¤¿ तंतà¥à¤°"
@@ -845,24 +722,6 @@ msgstr "पलà¥à¤¸à¤‘डियो धà¥à¤µà¤¨à¤¿ तंतà¥à¤°"
msgid "Start the PulseAudio Sound System"
msgstr "पलà¥à¤¸à¤‘डियो धà¥à¤µà¤¨à¤¿ तंतà¥à¤° पà¥à¤°à¤¾à¤°à¤‚भ करें"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ अनà¥à¤¸à¥‚चन (negative Unix nice level) PulseAudio डेमॉन के लिà¤"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "पलà¥à¤¸à¤‘डियो डेमॉन के लिठवासà¥à¤¤à¤µà¤¿à¤• समय नियोजन"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "तंतà¥à¤° नीति PulseAudio को रोकती है उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ अनà¥à¤¸à¥‚चन के लिà¤."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "तंतà¥à¤° नीति PulseAudio को वासà¥à¤¤à¤µà¤¿à¤• समय अनà¥à¤¸à¥‚चन पाने से रोकती है."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "मोनो"
@@ -1235,183 +1094,187 @@ msgstr "कà¥à¤•à¥€ आंकड़ा के विशà¥à¤²à¥‡à¤·à¤£ मेà¤
msgid "Failed to open configuration file '%s': %s"
msgstr "विनà¥à¤¯à¤¾à¤¸ फ़ाइल '%s' खोलने में विफल: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "कोई कà¥à¤•à¥€ नहीं लोड किया गया. इसके बिना कनेकà¥à¤Ÿ करने की कोशिश कर रहा हूà¤."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "अजà¥à¤žà¤¾à¤¤ विसà¥à¤¤à¤¾à¤° '%s' के लिठसंदेश पà¥à¤°à¤¾à¤ªà¥à¤¤"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Failed to drain stream: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "पà¥à¤²à¥‡à¤¬à¥ˆà¤• सà¥à¤Ÿà¥à¤°à¥€à¤® खतà¥à¤®.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "सरà¥à¤µà¤° में कनेकà¥à¤¶à¤¨ ले जा रहा है.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() विफल: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() विफल: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() विफल: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® सफलतापूरà¥à¤µà¤• निरà¥à¤®à¤¿à¤¤.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() विफल: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "बफ़र मेटà¥à¤°à¤¿à¤•à¥à¤¸: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "बफ़र मेटà¥à¤°à¤¿à¤•à¥à¤¸: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "नमूना सà¥à¤ªà¥‡à¤• '%s' का पà¥à¤°à¤¯à¥‹à¤—, चैनल मैप '%s'.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "यà¥à¤•à¥à¤¤à¤¿ %s (%u, %ssuspended) से कनेकà¥à¤Ÿà¥‡à¤¡.\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® तà¥à¤°à¥à¤Ÿà¤¿: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® यà¥à¤•à¥à¤¤à¤¿ सà¥à¤¥à¤—ित.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® यà¥à¤•à¥à¤¤à¤¿ पà¥à¤¨à¤°à¥à¤¬à¤¹à¤¾à¤².%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® अंडररन.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® ओवररन.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® आरंभ.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® यà¥à¤•à¥à¤¤à¤¿ %s (%u, %ssuspended).%s में खिसकाया गया \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "नहीं "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® बफ़र गà¥à¤£ परिवरà¥à¤¤à¤¿à¤¤.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "कनेकà¥à¤¶à¤¨ सà¥à¤¥à¤¾à¤ªà¤¿à¤¤.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() विफल: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() विफल: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() विफल: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "कनेकà¥à¤¶à¤¨ विफल.%s \n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF पाया.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() विफल: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF पाया.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() विफल: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "संकेत पाया, निकल रहा है.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Failed to get latency: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "समय: %0.3f sec; लैटेंसी: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() विफल: %s\n"
#: ../src/utils/pacat.c:605
@@ -1533,34 +1396,34 @@ msgstr ""
"लिबपलà¥à¤¸ %s के साथ कंपाइल\n"
"लिबपलà¥à¤¸ %s के साथ लिंक\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "अवैध चैनल मानचितà¥à¤° '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "अवैध पà¥à¤¨à¤ƒ पà¥à¤°à¤¤à¤¿à¤¦à¤°à¥à¤¶ विधि '%s'."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "अवैध चैनल मानचितà¥à¤° '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "अवैध लैटेंसी विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "अवैध पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ समय विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "अवैध पà¥à¤¨à¤ƒ पà¥à¤°à¤¤à¤¿à¤¦à¤°à¥à¤¶ विधि '%s'."
#: ../src/utils/pacat.c:878
@@ -1569,60 +1432,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "अवैध नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "कई वितरà¥à¤•.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "नमूना सूचना पाने में विफल: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "धà¥à¤µà¤¨à¤¿ फ़ाइल खोलने में विफल.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® को किसी नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s' के साथ खोल रहा है.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "नमूना सूचना पाने में विफल: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® को किसी नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s' के साथ खोल रहा है.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "चैनल मानचितà¥à¤° नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ के मेल नहीं खाता\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® को किसी नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s' के साथ खोल रहा है.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® को किसी नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s' के साथ खोल रहा है.\n"
#: ../src/utils/pacat.c:1006
@@ -1633,35 +1502,34 @@ msgstr "रिकारà¥à¤¡à¤¿à¤‚ग"
msgid "playback"
msgstr "पà¥à¤²à¥‡à¤¬à¥ˆà¤•"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() विफल.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() विफल.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() विफल.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() विफल: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() विफल.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() विफल.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() विफल.\n"
#: ../src/utils/pasuspender.c:81
@@ -1689,6 +1557,11 @@ msgstr "पà¥à¤¨à¤°à¥à¤¬à¤¹à¤¾à¤²à¥€ में विफल: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "चेतावनी: धà¥à¤µà¤¨à¤¿ सरà¥à¤µà¤° सà¥à¤¥à¤¾à¤¨à¥€à¤¯ नहीं है, सà¥à¤¥à¤—ित नहीं कर रहा है.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "कनेकà¥à¤¶à¤¨ विफल.%s \n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1729,6 +1602,21 @@ msgstr ""
"लिबपलà¥à¤¸ %s से कंपाइल\n"
"लिबपलà¥à¤¸ %s से कड़ीबदà¥à¤§\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() विफल.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() विफल.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() विफल.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2143,6 +2031,11 @@ msgstr ""
"लिबपलà¥à¤¸ %s से कंपाइल\n"
"लिबपलà¥à¤¸ %s से कड़ीबदà¥à¤§\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "अवैध चैनल मानचितà¥à¤° '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "लोड करने के लिठकिसी नमूना फ़ाइल निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ करें\n"
@@ -2151,6 +2044,11 @@ msgstr "लोड करने के लिठकिसी नमूना फ
msgid "Failed to open sound file.\n"
msgstr "धà¥à¤µà¤¨à¤¿ फ़ाइल खोलने में विफल.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "नमूना सूचना पाने में विफल: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2214,11 +2112,6 @@ msgstr "आपको किसी कारà¥à¤¡ नाम/सूची और
msgid "No valid command specified.\n"
msgstr "कोई वैध कमांड निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ नहीं.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() विफल: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2335,11 +2228,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "autospawn लॉक की पहà¥à¤à¤š नहीं ले सकता है."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2356,7 +2249,7 @@ msgstr ""
"हमें POLLOUT सेट के साथ तैयार किया गया है -- हालांकि परवरà¥à¤¤à¥€ snd_pcm_avail() ने 0 या "
"दूसरा मान < min_avail दिया."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2374,15 +2267,15 @@ msgstr ""
"दूसरा मान < min_avail दिया."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "बंद"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "उचà¥à¤š विशà¥à¤µà¤¸à¤¨à¥€à¤¯à¤¤à¤¾à¤¯à¥à¤•à¥à¤¤à¤¿ पà¥à¤²à¥‡à¤¬à¥ˆà¤• (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "टेलिफोनी डà¥à¤¯à¥‚पà¥à¤²à¥‡à¤•à¥à¤¸ (HSP/HFP)"
@@ -2390,6 +2283,128 @@ msgstr "टेलिफोनी डà¥à¤¯à¥‚पà¥à¤²à¥‡à¤•à¥à¤¸ (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "पलà¥à¤¸à¤‘डियो धà¥à¤µà¤¨à¤¿ सरà¥à¤µà¤°"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "तंतà¥à¤° बस से कनेकà¥à¤Ÿ नहीं हो सकता है: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID से कॉलर पाने में विफल: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "UID को कॉलर वसà¥à¤¤à¥ पर सेट नहीं कर सकता है."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK सतà¥à¤° पाने में विफल."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "UID को सतà¥à¤° वसà¥à¤¤à¥ पर सेट नहीं कर सकता है."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction आबंटित नहीं कर सकता है."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id सेट नहीं कर सकता है"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext आबंटित नहीं कर सकता है."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext आरंभ नहीं कर सकता है.: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "निरà¥à¤§à¤¾à¤°à¤¿à¤¤ नहीं कर सकता है कि कà¥à¤¯à¤¾ कॉलर अधिकृत है: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "अधिकार पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं कर सकता है: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit ने '%s' के साथ अनà¥à¤•à¥à¤°à¤¿à¤¯à¤¾ किया"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ अनà¥à¤¸à¥‚चन (negative Unix nice level) PulseAudio डेमॉन के लिà¤"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "पलà¥à¤¸à¤‘डियो डेमॉन के लिठवासà¥à¤¤à¤µà¤¿à¤• समय नियोजन"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr "तंतà¥à¤° नीति PulseAudio को रोकती है उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ अनà¥à¤¸à¥‚चन के लिà¤."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr "तंतà¥à¤° नीति PulseAudio को वासà¥à¤¤à¤µà¤¿à¤• समय अनà¥à¤¸à¥‚चन पाने से रोकती है."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() विफल: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() विफल: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "हम '%s' समूह में हैं, उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ नियोजन की अनà¥à¤®à¤¤à¤¿ के साथ."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "हम '%s' समूह में हैं, वासà¥à¤¤à¤µà¤¿à¤• समय नियोजन को अनà¥à¤®à¤¤à¤¿ देते हà¥à¤."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ अधिकार अधिगà¥à¤°à¤¹à¤£ हमें देती है."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ अधिकार अधिगà¥à¤°à¤¹à¤£ असà¥à¤µà¥€à¤•à¥ƒà¤¤ करती है."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit हमें देती है वासà¥à¤¤à¤µà¤¿à¤• समय अधिकार अधिगà¥à¤°à¤¹à¤£."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit सà¥à¤µà¥€à¤•à¥ƒà¤¤ करती है वासà¥à¤¤à¤µà¤¿à¤• समय अधिकार अधिगà¥à¤°à¤¹à¤£."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "SUID रूट को आहà¥à¤µà¤¾à¤¨ किया और वासà¥à¤¤à¤µà¤¿à¤• समय/या उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ नियोजन को इस विनà¥à¤¯à¤¾à¤¸ "
+#~ "में निवेदन किया गया था. हालांकि, हमें जरूरी अधिकार कम है:\n"
+#~ "हम '%s' समूह में नहीं है, PolicyKit निवेदित अधिकार हमें देने से मना करता है और हम "
+#~ "RLIMIT_NICE/RLIMIT_RTPRIO संसाधन सीमा को बढ़ाना नहीं है.\n"
+#~ "वासà¥à¤¤à¤µà¤¿à¤• समय/या उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ नियोजन को सकà¥à¤°à¤¿à¤¯ करने के लिठकृपया उचित "
+#~ "PolicyKit अधिकार अधिगà¥à¤°à¤¹à¤¿à¤¤ करें, या '%s' का सदसà¥à¤¯ बनें, RLIMIT_NICE/"
+#~ "RLIMIT_RTPRIO संसाधन सीमा को इस उपयोकà¥à¤¤à¤¾ के लिठबढ़ाà¤à¤."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "विनà¥à¤¯à¤¾à¤¸ में उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ नियोजन सकà¥à¤°à¤¿à¤¯ है लेकिन नीति के दà¥à¤µà¤¾à¤°à¤¾ अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं है."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "सफलतापूरà¥à¤µà¤• बढ़ा हà¥à¤† RLIMIT_RTPRIO"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO विफल: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE छोड़ रहा है"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr "विनà¥à¤¯à¤¾à¤¸ में वासà¥à¤¤à¤µà¤¿à¤• समय नियोजन लेकिन नीति के दà¥à¤µà¤¾à¤°à¤¾ अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "CAP_SYS_NICE में सीमित कà¥à¤·à¤®à¤¤à¤¾ सफलतापूरà¥à¤µà¤•."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() विफल.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "à¤à¤¨à¤¾à¤²à¥‰à¤— मोनो"
diff --git a/po/it.po b/po/it.po
index 3ecca4e4..edb1fd59 100644
--- a/po/it.po
+++ b/po/it.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-20 22:34+0200\n"
"Last-Translator: mario_santagiuliana <mario at marionline.it>\n"
"Language-Team: Italian <fedora-trans-it at redhat.com>\n"
@@ -19,7 +19,12 @@ msgstr ""
"X-Generator: Lokalize 0.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -31,7 +36,7 @@ msgstr ""
"Molto probabilmente si tratta di un bug nel driver ALSA «%s». Segnalare "
"questo problema agli sviluppatori ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -43,7 +48,7 @@ msgstr ""
"Molto probabilmente si tratta di un bug nel driver ALSA «%s». Segnalare "
"questo problema agli sviluppatori ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -69,7 +74,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Audio interno"
@@ -89,222 +94,93 @@ msgstr "Allocazione del nuovo loader dl non riuscita."
msgid "Failed to add bind-now-loader."
msgstr "Aggiunta di bind-now-loader non riuscita."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Impossibile effettuare la connessione al bus di sistema: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Impossibile ottenere il chiamante dal PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Impossibile impostare l'UID sull'oggetto chiamante."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Recupero della sessione CK non riuscito."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Impossibile impostare l'UID sull'oggetto sessione."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Impossibile allocare PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Impossibile impostare action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Impossibile allocare PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Impossibile inizializzare PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Impossibile determinare se il chiamante è autorizzato: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Impossibile ottenere l'autorizzazione: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit ha risposto con \"%s\""
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Ottenuto il segnale %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Uscita."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Ricerca dell'utente \"%s\" non riuscita."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Ricerca del gruppo \"%s\" non riuscita."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Trovato l'utente \"%s\" (UID %lu) e il gruppo \"%s\" (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "Il GID dell'utente \"%s\" e del gruppo \"%s\" non corrispondono."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "La directory home dell'utente \"%s\" non è \"%s\", ignorato."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Creazione di \"%s\" non riuscita: %s"
# group list ????
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Cambio dell'elenco di gruppo non riuscito: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Cambio di GID non riuscito: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Cambio di UID non riuscito: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Privilegi di root abbandonati con successo."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Modalità \"system wide\" non supportata su questa piattaforma."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) non riuscita: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Analisi della riga di comando non riuscita."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "Attualmente nel gruppo \"%s\", che consente scheduling high-priority."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "Attualmente nel gruppo \"%s\", che consente scheduling real-time."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "Privilegi acquire-high-priority assegnati da PolicyKit."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "Privilegi acquire-high-priority rifiutati da PolicyKit."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "Privilegi acquire-real-time assegnati da PolicyKit."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "Privilegi acquire-real-time rifiutati da PolicyKit."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Lo SUID root e lo scheduling real-time o high-priority erano richiesti nella "
-"configurazione, ma mancano i privilegi necessari:\n"
-"non si è nel gruppo «%s», PolicyKit non consente di acquisire i privilegi "
-"richiesti e non è possibile incrementare i limiti RLIMIT_NICE/RLIMIT_RTPRIO "
-"della risorsa.\n"
-"Per abilitare lo scheduling real-time/high-priority, acquisire i privilegi "
-"PolicyKit appropriati, diventare un membro di «%s» oppure incrementare i "
-"limiti RLIMIT_NICE/RLIMIT_RTPRIO della risorsa per questo utente."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Scheduling high-priority abilitato nella configurazione, ma non ammesso "
-"dalla politica."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "Incremento di RLIMIT_RTPRIO riuscito"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO non riuscito: %s"
-
-# abbandono??
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Abbandono del CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Scheduling real-time abilitato nella configurazione, ma non ammesso dalla "
-"politica."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Demone non in esecuzione"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Demone in esecuzione con PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Terminazione del demone non riuscita: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -312,158 +188,158 @@ msgstr ""
"Questo programma non è pensato per essere eseguito come root (a meno di "
"specificare --system)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Richiesti privilegi di root."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start non supportato per le istanze di sistema."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "In esecuzione in modalità sistema, ma --disallow-exit non impostato."
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"In esecuzione in modalità sistema, ma --disallow-module-loading non "
"impostato."
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr ""
"In esecuzione in modalità sistema, disabilitata in modo forzoso la modalità "
"SHM."
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"In esecuzione in modalità sistema, disabilitato in modo forzoso il tempo di "
"uscita per inattività."
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Acquisizione di STDIO non riuscita."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe non riuscita: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() non riuscita: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() non riuscita: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Avvio del demone non riuscito."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Avvio del demone riuscito."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Questo è PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Host di compilazione: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "CFLAGS di compilazione: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "In esecuzione sull'host: %s"
# evviva il rispetto della l10n!!!
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Trovate %u CPU."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "La dimensione di pagina è %lu byte"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Compilato con supporto a Valgrind: sì"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Compilato con supporto a Valgrind: no"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "In esecuzione in modalità valgrind: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Build ottimizzata: sì"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Build ottimizzata: no"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG definito, tutte le dichiarazioni sono disabilitate."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr ""
"FASTPATH definito, solo le dichiarazioni veloci di path sono disabilitate."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Tutte le dichiarazioni sono abilitate."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Recupero dell'ID della macchina non riuscito"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "L'ID della macchina è %s"
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "L'ID della macchina è %s"
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "In uso directory di runtime %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "In uso directory di stato %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "In esecuzione in modalità sistema: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -473,17 +349,17 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() non riuscita."
# io mi domando e dico..... mah!
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Disponibili timer high-resolution freschi freschi! Buon appetito!"
# $REPEAT_PREVIOUS_COMMENT_HERE
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -491,27 +367,27 @@ msgstr ""
"Hey, questo kernel è andato a male! Lo chef oggi raccomanda Linux con i "
"timer high-resolution abilitati!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() non riuscita."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Inizializzazione del demone non riuscita."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Avvio del demone senza alcun modulo caricato, rifiuta di lavorare."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Completato l'avvio del demone."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Iniziato l'arresto del demone."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Demone terminato."
@@ -881,14 +757,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Lettura dal file di configurazione: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Abbandono dei privilegi di root."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "Limitazione delle capacità a CAP_SYS_NICE riuscita."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "Sistema sonoro PulseAudio"
@@ -897,30 +769,6 @@ msgstr "Sistema sonoro PulseAudio"
msgid "Start the PulseAudio Sound System"
msgstr "Avvia il sistema sonoro PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"Scheduling high-priority (valori negativi di \"nice\") per il demone "
-"PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Scheduling realt-time per il demone PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"La politica di sistema previene PulseAudio dall'ottenere lo scheduling high-"
-"priority."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"La politica di sistema previene PulseAudio dall'ottenere lo scheduling real-"
-"time."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1295,186 +1143,190 @@ msgstr "Analisi dei dati cookie non riuscita"
msgid "Failed to open configuration file '%s': %s"
msgstr "Apertura del file di configurazione \"%s\" non riuscita: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Nessun cookie caricato. Tentativo di connettersi senza."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Ricevuto messaggio per l'estensione sconosciuta \"%s\""
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Svuotamento dello stream non riuscito: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Stream di riproduzione svuotato.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Svuotamento della connessione sul server.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() non riuscita: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() non riuscita: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() non riuscita: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Creazione dello stream riuscita.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() non riuscita: %s\n"
# maxlength, fragsize e gli altri non so se vanno tradotti...
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Metriche del buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
# maxlength e fragsize non so se vanno tradotti...
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Metriche del buffer: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "In uso specifica di campionamento \"%s\", mappa di canali \"%s\".\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "Connesso al device %s (%u, %ssospeso).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Errore di stream: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Device stream sospeso.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Device stream ripristinato.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Underrun dello stream.%s\n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Overrun dello stream.%s\n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Stream avviato.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Stream spostato sul device %s (%u, %ssospeso).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "non "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "Attributi del buffer di stream cambiati.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Connessione stabilita.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() non riuscita: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() non riuscita: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() non riuscita: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Connessione non riuscita: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Ricevuto EOF.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() non riuscita: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "Ricevuto EOF.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() non riuscita: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Ricevuto il segnale, uscita.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Recupero della latenza non riuscito: %s\n"
# dubbio: tempo o durata??
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Tempo: %0.3f sec; Latenza: %0.0f microsec. \\r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() non riuscita: %s\n"
#: ../src/utils/pacat.c:605
@@ -1608,35 +1460,35 @@ msgstr ""
"Compilato con libpulse %s\n"
"Link eseguito con libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "Mappa di canali \"%s\" non valida\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "Metodo di ricampionamento \"%s\" non valido."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Mappa di canali \"%s\" non valida\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Specifica di latenza \"%s\" non valida\n"
# esecuzione???
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Specifica di tempo di elaborazione \"%s\" non valida\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "Metodo di ricampionamento \"%s\" non valido."
#: ../src/utils/pacat.c:878
@@ -1645,60 +1497,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Specifica di campionamento non valida\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Troppi argomenti.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "Recupero delle informazioni del campione non riuscito: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Apertura del file audio non riuscita.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "Recupero delle informazioni del campione non riuscito: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "La mappa di canali non corrisponde alla specifica di campionamento\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n"
#: ../src/utils/pacat.c:1006
@@ -1709,35 +1567,34 @@ msgstr "registrazione"
msgid "playback"
msgstr "riproduzione"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() non riuscita.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() non riuscita.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() non riuscita.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() non riuscita: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() non riuscita.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() non riuscita.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() non riuscita.\n"
#: ../src/utils/pasuspender.c:81
@@ -1766,6 +1623,11 @@ msgstr "Ripristino non riuscito: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "ATTENZIONE: server audio non locale, impossibile sospendere.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Connessione non riuscita: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1806,6 +1668,21 @@ msgstr ""
"Compilato con libpulse %s\n"
"Link eseguito con libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() non riuscita.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() non riuscita.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() non riuscita.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2234,6 +2111,11 @@ msgstr ""
"Compilato con libpulse %s\n"
"Link eseguito con libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Mappa di canali \"%s\" non valida\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Specificare un file campione da caricare\n"
@@ -2242,6 +2124,11 @@ msgstr "Specificare un file campione da caricare\n"
msgid "Failed to open sound file.\n"
msgstr "Apertura del file audio non riuscita.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Recupero delle informazioni del campione non riuscito: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2308,11 +2195,6 @@ msgstr ""
msgid "No valid command specified.\n"
msgstr "Nessun comando valido specificato.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() non riuscita: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2431,11 +2313,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Impossibile accedere al lock di autospawn."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2452,7 +2334,7 @@ msgstr ""
"Ci si è alzati con impostato POLLOUT -- come sempre un subsequent "
"snd_pcm_avail() ritorna 0 o un altro valore < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2470,15 +2352,15 @@ msgstr ""
"snd_pcm_avail() ritorna 0 o un altro valore < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Spento"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Playback ad alta fidabilità (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Doppino Telefonico (HSP/HFP)"
@@ -2486,6 +2368,140 @@ msgstr "Doppino Telefonico (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "Server sonoro PulseAudio"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Impossibile effettuare la connessione al bus di sistema: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Impossibile ottenere il chiamante dal PID: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Impossibile impostare l'UID sull'oggetto chiamante."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Recupero della sessione CK non riuscito."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Impossibile impostare l'UID sull'oggetto sessione."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Impossibile allocare PolKitAction."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Impossibile impostare action_id"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Impossibile allocare PolKitContext."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Impossibile inizializzare PolKitContext: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Impossibile determinare se il chiamante è autorizzato: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Impossibile ottenere l'autorizzazione: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit ha risposto con \"%s\""
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Scheduling high-priority (valori negativi di \"nice\") per il demone "
+#~ "PulseAudio"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Scheduling realt-time per il demone PulseAudio"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "La politica di sistema previene PulseAudio dall'ottenere lo scheduling "
+#~ "high-priority."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "La politica di sistema previene PulseAudio dall'ottenere lo scheduling "
+#~ "real-time."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() non riuscita: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() non riuscita: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Attualmente nel gruppo \"%s\", che consente scheduling high-priority."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "Attualmente nel gruppo \"%s\", che consente scheduling real-time."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "Privilegi acquire-high-priority assegnati da PolicyKit."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "Privilegi acquire-high-priority rifiutati da PolicyKit."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "Privilegi acquire-real-time assegnati da PolicyKit."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "Privilegi acquire-real-time rifiutati da PolicyKit."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Lo SUID root e lo scheduling real-time o high-priority erano richiesti "
+#~ "nella configurazione, ma mancano i privilegi necessari:\n"
+#~ "non si è nel gruppo «%s», PolicyKit non consente di acquisire i privilegi "
+#~ "richiesti e non è possibile incrementare i limiti RLIMIT_NICE/"
+#~ "RLIMIT_RTPRIO della risorsa.\n"
+#~ "Per abilitare lo scheduling real-time/high-priority, acquisire i "
+#~ "privilegi PolicyKit appropriati, diventare un membro di «%s» oppure "
+#~ "incrementare i limiti RLIMIT_NICE/RLIMIT_RTPRIO della risorsa per questo "
+#~ "utente."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "Scheduling high-priority abilitato nella configurazione, ma non ammesso "
+#~ "dalla politica."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "Incremento di RLIMIT_RTPRIO riuscito"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO non riuscito: %s"
+
+# abbandono??
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Abbandono del CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "Scheduling real-time abilitato nella configurazione, ma non ammesso dalla "
+#~ "politica."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "Limitazione delle capacità a CAP_SYS_NICE riuscita."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() non riuscita.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Mono analogico"
diff --git a/po/kn.po b/po/kn.po
index b6636504..94ff0063 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-07 11:13+0530\n"
"Last-Translator: Shankar Prasad <svenkate@redhat.com>\n"
"Language-Team: Kannada <en@li.org>\n"
@@ -17,7 +17,12 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -29,7 +34,7 @@ msgstr ""
"ಇದಕà³à²•à³† ALSA ಚಾಲಕ '%s' ದಲà³à²²à²¿à²¨ ಒಂದೠದೋಷದ ಕಾರಣವಿರಬಹà³à²¦à³. ದಯವಿಟà³à²Ÿà³à²ˆ ತೊಂದರೆಯನà³à²¨à³ ALSA "
"ವಿಕಸನಗಾರರ ಗಮನಕà³à²•à³† ತನà³à²¨à²¿."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -41,7 +46,7 @@ msgstr ""
"ಇದಕà³à²•à³† ALSA ಚಾಲಕ '%s' ದಲà³à²²à²¿à²¨ ಒಂದೠದೋಷದ ಕಾರಣವಿರಬಹà³à²¦à³. ದಯವಿಟà³à²Ÿà³à²ˆ ತೊಂದರೆಯನà³à²¨à³ ALSA "
"ವಿಕಸನಗಾರರ ಗಮನಕà³à²•à³† ತನà³à²¨à²¿."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -66,7 +71,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "ಆಂತರಿಕ ಆಡಿಯೊ"
@@ -86,220 +91,92 @@ msgstr "ಹೊಸ dl ಲೋಡರೠಅನà³à²¨à³ ನಿಯೋಜಿಸà³à²µ
msgid "Failed to add bind-now-loader."
msgstr "bind-now-ಲೋಡರೠಅನà³à²¨à³ ಸೇರಿಸಲಾಗಿಲà³à²²."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಬಸà³â€Œà²—ೆ ಸಂಪರà³à²•à²œà³‹à²¡à²¿à²¸à²²à³ ಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID ಇಂದ ಕಾಲರೠಅನà³à²¨à³ ಪಡೆಯಲಾಗಿಲà³à²²: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "ಕಾಲರೠವಸà³à²¤à³à²µà²¿à²¨à²²à³à²²à²¿ UID ಅನà³à²¨à³ ಅಣಿಗೊಳಿಸಲಾಗಲಿಲà³à²²."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK ಅಧಿವೇಶನವನà³à²¨à³ ಪಡೆಯಲಾಗಲಿಲà³à²²."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "ಅಧಿವೇಶನದ ವಸà³à²¤à³à²µà²¿à²¨à²²à³à²²à²¿ UID ಅನà³à²¨à³ ಅಣಿಗೊಳಿಸಲಾಗಲಿಲà³à²²."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction ಅನà³à²¨à³ ನಿಯೋಜಿಸಲಾಗಿಲà³à²²."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id ಅನà³à²¨à³ ಹೊಂದಿಸಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext ಅನà³à²¨à³ ನಿಯೋಜಿಸಲಾಗಿಲà³à²²."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext ಅನà³à²¨à³ ಆರಂಭಿಸಲಾಗಿಲà³à²²: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "ಕಾಲರೠಅಧೀಕೃತವಾಗಿದà³à²¦à³† ಎಂದೠನಿರà³à²§à²°à²¿à²¸à²²à³ ಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "auth ಅನà³à²¨à³ ಪಡೆಯಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit '%s' ನೊಂದಿಗೆ ಪà³à²°à²¤à³à²¯à³à²¤à³à²¤à²°à²¿à²¸à²¿à²¦à³†"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "%s ನಿಂದ ಸಂಕೇತವೠದೊರೆತಿದೆ."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "ನಿರà³à²—ಮಿಸà³à²¤à³à²¤à²¿à²¦à³†."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "ಬಳಕೆದಾರ '%s' ಅನà³à²¨à³ ಪತà³à²¤à³† ಮಾಡಲೠವಿಫಲಗೊಂಡಿದೆ."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "ಗà³à²‚ಪೠ'%s' ಅನà³à²¨à³ ಪತà³à²¤à³† ಮಾಡಲೠವಿಫಲಗೊಂಡಿದೆ."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "ಬಳಕೆದಾರ '%s' (UID %lu) ಹಾಗೠಗà³à²‚ಪೠ'%s' (GID %lu) ಕಂಡà³à²¬à²‚ದಿದೆ."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "ಬಳಕೆದಾರ '%s' ರ GID ಹಾಗೠಗà³à²‚ಪೠ'%s' ತಾಳೆಯಾಗà³à²¤à³à²¤à²¿à²²à³à²²."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "ಬಳಕೆದಾರ '%s' ರ ನೆಲೆ ಕೋಶವೠ'%s' ಆಗಿಲà³à²², ಆಲಕà³à²·à²¿à²¸à²²à²¾à²—à³à²¤à³à²¤à²¿à²¦à³†."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' ಅನà³à²¨à³ ರಚಿಸà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "ಗà³à²‚ಪಿನ ಪಟà³à²Ÿà²¿à²¯à²¨à³à²¨à³ ಬದಲಾಯಿಸಲೠವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID ಅನà³à²¨à³ ಬದಲಾಯಿಸಲೠವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID ಅನà³à²¨à³ ಬದಲಾಯಿಸಲೠವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "ರೂಟೠಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಬಿಡಲಾಗಿದೆ."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯à²¾à²¦à³à²¯à²‚ತದ ಕà³à²°à²®à²•à³à²•à³† ಈ ಪà³à²²à²¾à²Ÿà³â€Œà²«à²¾à²°à³à²®à²¿à²¨à²²à³à²²à²¿ ಬೆಂಬಲವಿಲà³à²²."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) ವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "ಆಜà³à²žà²¾ ಸಾಲನà³à²¨à³ ಪಾರà³à²¸à³ ಮಾಡà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²¦à³à²¦à³‡à²µà³†, ಹಾಗೠಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à³‡à²µà³†."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²¦à³à²¦à³‡à²µà³†, ಹಾಗೠರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à³‡à²µà³†."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•à³Š ಅನà³à²¨à³ PolicyKit ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à²¦à³†."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•à³Š ಅನà³à²¨à³ PolicyKit ನಿರಾಕರಿಸà³à²¤à³à²¤à²¦à³†."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "ರಿಯಲà³-ಟೈಮೠಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•à³Š ಅನà³à²¨à³ PolicyKit ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à²¦à³†."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "ರಿಯಲà³-ಟೈಮೠಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•à³Š ಅನà³à²¨à³ PolicyKit ನಿರಾಕರಿಸà³à²¤à³à²¤à²¦à³†."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"SUID ರೂಟೠಅನà³à²¨à³ ಕರೆಯಲಾಗಿದೆ ಹಾಗೠಸಂರಚನೆಯಲà³à²²à²¿ ರಿಯಲà³-ಟೈಲೠಹಾಗà³/ಅಥವ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† "
-"ಶೆಡà³à²¯à³‚ಲಿಂಗà³â€Œà²—ೆ ಮನವಿ ಸಲà³à²²à²¿à²¸à²²à²¾à²—ಿದೆ. ಆದರೆ, ಅಗತà³à²¯à²µà²¿à²°à³à²µ ಸವಲತà³à²¤à³à²—ಳೠನಮà³à²®à²²à³à²²à²¿à²²à³à²²:\n"
-"ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²²à³à²²,ಮನವಿ ಸಲà³à²²à²¿à²¸à²²à²¾à²¦ ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಒದಗಿಸಲೠPolicyKit "
-"ನಿರಾಕರಿಸಿದೆ ಹಾಗೠRLIMIT_NICE/RLIMIT_RTPRIO ಸಂಪನà³à²®à³‚ಲದ ಮಿತಿಯನà³à²¨à³ ಹೆಚà³à²šà²¿à²¸à²²à³ ನಮà³à²®à²¿à²‚ದ "
-"ಸಾಧà³à²¯à²µà²¿à²²à³à²².\n"
-"ರಿಯಲà³-ಟೈಲೠಹಾಗà³/ಅಥವ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಶೆಡà³à²¯à³‚ಲಿಂಗà³â€Œ ಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲೠದಯವಿಟà³à²Ÿà³ ಸೂಕà³à²¤à²µà²¾à²¦ "
-"PolicyKit ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à²¿, ಅಥವ '%s' ನ ಸದಸà³à²¯à²°à²¾à²—ಿ, ಅಥವ ಈ ಬಳಕೆದಾರನಿಗಾಗಿ "
-"RLIMIT_NICE/RLIMIT_RTPRIO ಸಂಪನà³à²®à³‚ಲ ಮಿತಿಯನà³à²¨à³ ಹೆಚà³à²šà²¿à²¸à²¿."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"ಸಂರಚನೆಯಲà³à²²à²¿ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ ಆದರೆ ಪಾಲಿಸಿಯಿಂದ ಅನà³à²®à²¤à²¿ "
-"ಇಲà³à²²."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO ಅನà³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಹೆಚà³à²šà²¿à²¸à²²à²¾à²—ಿದೆ"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO ವಿಫಲಗೊಂಡಿದೆ: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE ಅನà³à²¨à³ ಬಿಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"ಸಂರಚನೆಯಲà³à²²à²¿ ರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ ಆದರೆ ಪಾಲಿಸಿಯಿಂದ ಅನà³à²®à²¤à²¿ ಇಲà³à²²."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "ಡೀಮನೠಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "ಡೀಮನೠPID %u ಯಾಗಿ ಚಲಾಯಿಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "ಡೀಮನೠಅನà³à²¨à³ ಕೊಲà³à²²à²²à³ ವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -307,158 +184,158 @@ msgstr ""
"ಈ ಪà³à²°à³‹à²—à³à²°à²¾à²®à²¨à³à²¨à³ ರೂಟà³â€Œ ಆಗಿ ಚಲಾಯಿಸà³à²µ ಉದà³à²§à³‡à²¶à²µà²¨à³à²¨à³ ಹೊಂದಿಲà³à²² (--system ಅನà³à²¨à³ ಸೂಚಿಸದೆ "
"ಇದà³à²¦à²²à³à²²à²¿ ಮಾತà³à²°)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "ನಿರà³à²µà²¾à²¹à²• ಸವಲತà³à²¤à³à²—ಳ ಅಗತà³à²¯à²µà²¿à²¦à³†."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಸನà³à²¨à²¿à²µà³‡à²¶à²¦à²¿à²‚ದ --start ಬೆಂಬಲಿತವಾಗಿಲà³à²²."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr ""
"ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†, ಆದರೆ --disallow-exit ಅನà³à²¨à³ ಹೊಂದಿಸಲಾಗಿಲà³à²²!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†, ಆದರೆ --disallow-module-loading ಅನà³à²¨à³ "
"ಹೊಂದಿಸಲಾಗಿಲà³à²²!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr ""
"ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³à²¦à³, SHM ಕà³à²°à²®à²µà²¨à³à²¨à³ ಒತà³à²¤à²¾à²¯à²ªà³‚ರà³à²µà²•à²µà²¾à²—ಿ "
"ಅಶಕà³à²¤à²—ೊಳಿಸà³à²¤à³à²¤à²¿à²¦à³†!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³à²¦à³, ನಿರà³à²—ಮಿಸà³à²µ ಜಡ ಸಮಯವನà³à²¨à³ ಒತà³à²¤à²¾à²¯à²ªà³‚ರà³à²µà²•à²µà²¾à²—ಿ "
"ಅಶಕà³à²¤à²—ೊಳಿಸà³à²¤à³à²¤à²¿à²¦à³†!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio ಅನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "ಪೈಪà³â€Œ ವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() ವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() ವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "ಡೀಮನೠಆರಂಭಗೊಳà³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "ಡೀಮನೠಅನà³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಆರಂಭಿಸಲಾಗಿದೆ."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "ಇದೠPulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "ಕಂಪೈಲೠಮಾಡà³à²µ ಅತಿಥೇಯ: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "ಕಂಪೈಲೠಮಾಡà³à²µ CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "ಅತಿಥೇಯದಲà³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPUಗಳೠಕಂಡà³à²¬à²‚ದಿವೆ."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "ಪà³à²Ÿà²¦ ಗಾತà³à²°à²µà³ %lu ಬೈಟà³â€Œà²—ಳಾಗಿವೆ"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Valgrind ಬೆಂಬಲದೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ: ಹೌದà³"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Valgrind ಬೆಂಬಲದೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ: ಇಲà³à²²"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "valgrind ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "ಪà³à²°à²¶à²¸à³à²¤à²µà²¾à²¦ ನಿರà³à²®à²¾à²£: ಹೌದà³"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "ಪà³à²°à²¶à²¸à³à²¤à²µà²¾à²¦ ನಿರà³à²®à²¾à²£: ಇಲà³à²²"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG ಅನà³à²¨à³ ಸೂಚಿಸಲಾಗಿದೆ, ಎಲà³à²²à²¾ ಪà³à²°à²¤à²¿à²ªà²¾à²¦à²¨à³†à²—ಳನà³à²¨à³‚ ಅಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr ""
"FASTPATH ಅನà³à²¨à³ ಸೂಚಿಸಲಾಗಿದೆ, ಕೇವಲ ವೇಗ ಮಾರà³à²—ದ ಪà³à²°à²¤à²¿à²ªà²¾à²¦à²¨à³†à²—ಳನà³à²¨à³‚ ಅಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "ಎಲà³à²²à²¾ ಪà³à²°à²¤à²¿à²ªà²¾à²¦à²¨à³†à²—ಳನà³à²¨à³‚ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "ಮೆಶೀನೠID ಯನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "ಮೆಶೀನೠID ಯೠ%s ಆಗಿದೆ."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "ಮೆಶೀನೠID ಯೠ%s ಆಗಿದೆ."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "ಚಲಾವಣಾಸಮಯ(ರನà³â€Œà²Ÿà³ˆà²®à³) ಕೋಶ %s ಅನà³à²¨à³ ಬಳಸಿಕೊಂಡà³."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "ಸà³à²¥à²¿à²¤à²¿ ಕೋಶ %s ಅನà³à²¨à³ ಬಳಸಿಕೊಂಡà³."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -468,15 +345,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() ವಿಫಲಗೊಂಡಿದೆ."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "ತಾಜಾ ರೆಸಲà³à²¯à³‚ಶನೠಟೈಮರೠಲಭà³à²¯à²µà²¿à²¦à³†! Bon appetit!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -484,27 +361,27 @@ msgstr ""
"ಮಹಾಶಯರೆ, ನಿಮà³à²® ಕರà³à²¨à²²à³ ಕೊಳೆತà³à²¹à³‹à²—ಿದೆ! ಅತà³à²¯à³à²¤à³à²¤à²® ರೆಸಲà³à²¯à³‚ಶನೠಟೈಮರೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾದ "
"ಲಿನಕà³à²¸à²¨à³à²¨à³ ಬಳಸà³à²µà²‚ತೆ ಅಡà³à²—ೆಯವರೠಸಲಹೆ ಮಾಡà³à²¤à³à²¤à²¿à²¦à³à²¦à²¾à²°à³†!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() ವಿಫಲಗೊಂಡಿದೆ."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "ಡೀಮನೠಅನà³à²¨à³ ಆರಂಭಿಸಲೠವಿಫಲಗೊಂಡಿದೆ."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "ಲೋಡೠಮಾಡಲಾದ ಯಾವà³à²¦à³† ಡೀಮನೠಇಲà³à²²à²¦à³† ಆರಂಭಗೊಂಡಿದೆ, ಕೆಲಸ ಮಾಡಲೠನಿರಾಕರಿಸಿದೆ."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "ಡೀಮನೠಆರಂಭಗೊಳಿಕೆ ಪೂರà³à²£à²—ೊಂಡಿದೆ."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "ಡೀಮನೠಸà³à²¥à²—ಿತಗೊಳಿಕೆಯನà³à²¨à³ ಆರಂಭಿಸಲಾಗಿದೆ."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "ಡೀಮನೠಅನà³à²¨à³ ಅಂತà³à²¯à²—ೊಳಿಸಲಾಗಿದೆ."
@@ -844,14 +721,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### ಸಂರಚನಾ ಕಡತದಿಂದ ಓದà³: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "ರೂಟà³â€Œ ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಬಿಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "CAP_SYS_NICE ಗಾಗಿನ ಯಶಸà³à²µà²¿ ನಿಯಮಿತ ಸಾಮರà³à²¥à³à²¯à²—ಳà³."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio ಧà³à²µà²¨à²¿ ವà³à²¯à²µà²¸à³à²¥à³†"
@@ -860,27 +733,6 @@ msgstr "PulseAudio ಧà³à²µà²¨à²¿ ವà³à²¯à²µà²¸à³à²¥à³†"
msgid "Start the PulseAudio Sound System"
msgstr "PulseAudio ಧà³à²µà²¨à²¿ ವà³à²¯à²µà²¸à³à²¥à³†à²¯à²¨à³à²¨à³ ಆರಂಭಿಸಿ"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "PulseAudio ಡೀಮನà³â€Œà²—ಾಗಿ ಹೆಚà³à²šà²¿à²¨ ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠ(ಋಣಾತà³à²®à²• ಯೂನಿಕà³à²¸à³â€Œ ನೈಸೠಹಂತ)"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio ಡೀಮನà³â€Œà²—ಾಗಿ ರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗà³"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"PulseAudio ಹೆಚà³à²šà²¿à²¨ ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à²¦à²‚ತೆ ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಪಾಲಿಸಿಯೠ"
-"ತಡೆಯà³à²¤à³à²¤à²¦à³†."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"PulseAudio ರಿಯಲà³-ಟೈಮà³â€Œ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à²¦à²‚ತೆ ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಪಾಲಿಸಿಯೠತಡೆಯà³à²¤à³à²¤à²¦à³†."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "ಮೊನೊ"
@@ -1253,184 +1105,188 @@ msgstr "ಕà³à²•à²¿ ದತà³à²¤à²¾à²‚ಶವನà³à²¨à³ ಪಾರà³à²¸à³ ಮ
msgid "Failed to open configuration file '%s': %s"
msgstr "ಸಂರಚನಾ ಕಡತ '%s' ಅನà³à²¨à³ ಲೋಡೠಮಾಡà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr ""
"ಯಾವà³à²¦à³† ಕà³à²•à²¿à²¯à²¨à³à²¨à³ ಲೋಡೠಮಾಡಲಾಗಿಲà³à²². ಕà³à²•à²¿ ಇಲà³à²²à²¦à³† ಸಂಪರà³à²•à²¸à²¾à²§à²¿à²¸à²²à³ ಪà³à²°à²¯à²¤à³à²¨à²¿à²¸à²²à²¾à²—à³à²¤à³à²¤à²¿à²¦à³†."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "ಫೋರà³à²•à³(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "ಅಜà³à²žà²¾à²¤ ವಿಸà³à²¤à²°à²£à³† '%s' ಇಂದ ಸಂದೇಶವನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à²²à²¾à²—ಿದೆ"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "ಸà³à²Ÿà³à²°à³€à²®à²¨à³à²¨à³ ಬರಿದಾಗಿಸà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "ಪà³à²²à³‡à²¬à³à²¯à²¾à²•à³ ಸà³à²Ÿà³à²°à³€à²®à²¨à³à²¨à³ ಬರಿದಾಗಿಸಲಾಗಿದೆ.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "ಪರಿಚಾರಕಕà³à²•à³† ಬರಿದಾಗಿಸà³à²µ ಸಂಪರà³à²•.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() failed: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() failed: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() failed: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "ಸà³à²Ÿà³à²°à³€à²®à²¨à³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ನಿರà³à²®à²¿à²¸à²²à²¾à²—ಿದೆ.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() failed: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "ಬಫರೠಮೆಟà³à²°à²¿à²•à³â€Œà²—ಳà³: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "ಬಫರೠಮೆಟà³à²°à²¿à²•à³â€Œà²—ಳà³: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "ನಮೂನೆಯ ವಿವರ '%s' ಅನà³à²¨à³ ಬಳಸಿಕೊಂಡà³, ಚಾನಲà³â€Œ ನಕà³à²·à³† '%s'.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "ಸಾಧನ %s ಕà³à²•à³† ಸಂಪರà³à²• ಜೋಡಿಸಲಾಗಿದೆ (%u, %ssuspended).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ದೋಷ: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಸಾಧನವನà³à²¨à³ ತಾತà³à²•à²¾à²²à²¿à²•à²µà²¾à²—ಿ ತಡೆಹಿಡಿಯಲಾಗಿದೆ.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಸಾಧನವನà³à²¨à³ ಮರಳಿ ಆರಂಭಿಸಲಾಗಿದೆ.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಅನà³à²¨à³ ಕಡಿಮೆ ಚಲಾಯಿಸಲಾಗಿದೆ.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಅನà³à²¨à³ ಹೆಚà³à²šà³ ಚಲಾಯಿಸಲಾಗಿದೆ.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಅನà³à²¨à³ ಆರಂಭಿಸಲಾಗಿದೆ.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "ಸಾಧನ %s ಅನà³à²¨à³ ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಸà³à²¥à²³à²¾à²‚ತರಿಸಲಾಗಿದೆ (%u, %ssuspended).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "ಇಲà³à²² "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಬಫರೠಗà³à²£à²µà²¿à²¶à³‡à²·à²¤à³†à²—ಳನà³à²¨à³ ಬದಲಾಯಿಸಲಾಗಿದೆ.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "ಸಂಪರà³à²•à²µà²¨à³à²¨à³ ಸಾಧಿಸಲಾಗಿದೆ.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() failed: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() failed: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() failed: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "ಸಂಪರà³à²•à²¦ ವಿಫಲತೆ: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF ಅನà³à²¨à³ ಪಡೆಯಲಾಗಿದೆ.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "ಓದà³à²µà²¿à²•à³†() ವಿಫಲಗೊಂಡಿದೆ: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF ಅನà³à²¨à³ ಪಡೆಯಲಾಗಿದೆ.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "ಬರೆಯà³à²µà²¿à²•à³†() ವಿಫಲಗೊಂಡಿದೆ: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "ಸಂಕೇತ ದೊರೆತಿದೆ, ನಿರà³à²—ಮಿಸà³à²¤à³à²¤à²¿à²¦à³†.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "ಅಗೋಚರತೆಯನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "ಸಮಯ: %0.3f sec; ಅಗೋಚರತೆ: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() failed: %s\n"
#: ../src/utils/pacat.c:605
@@ -1549,34 +1405,34 @@ msgstr ""
"libpulse %s ನೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ\n"
"libpulse %s ನೊಂದಿಗೆ ಜೋಡಿಸಲಾಗಿದೆ\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಚಾನಲೠನಕà³à²·à³† '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಮರà³à²¨à²®à³‚ನೆ ವಿಧಾನ '%s'."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಚಾನಲೠನಕà³à²·à³† '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಅಗೋಚರತೆ ವಿವರಣೆ '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಪà³à²°à²•à³à²°à²¿à²¯à³† ಸಮಯದ ವಿವರಣೆ '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಮರà³à²¨à²®à³‚ನೆ ವಿಧಾನ '%s'."
#: ../src/utils/pacat.c:878
@@ -1585,60 +1441,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ನಮೂನೆ ವಿವರ\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "ತೆರೆ(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "ಬಹಳಷà³à²Ÿà³ ಆರà³à²—à³à²®à³†à²‚ಟà³â€Œà²—ಳà³.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "ನಮೂನೆಯ ಮಾಹಿತಿಯನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "ಧà³à²µà²¨à²¿ ಕಡತವನà³à²¨à³ ತೆರೆಯà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "ಒಂದೠ%s ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಅನà³à²¨à³ ನಮೂನೆ ವಿವರಣೆ '%s' ಯೊಂದಿಗೆ ತೆರೆಯಲಾಗà³à²¤à³à²¤à²¿à²¦à³†.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "ನಮೂನೆಯ ಮಾಹಿತಿಯನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "ಒಂದೠ%s ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಅನà³à²¨à³ ನಮೂನೆ ವಿವರಣೆ '%s' ಯೊಂದಿಗೆ ತೆರೆಯಲಾಗà³à²¤à³à²¤à²¿à²¦à³†.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "ಚಾನಲೠನಕà³à²·à³†à²¯à³ ನಮೂನೆಯ ವಿವರಣೆಯೊಂದಿಗೆ ತಾಳೆಯಾಗà³à²¤à³à²¤à²¿à²²à³à²²\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "ಒಂದೠ%s ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಅನà³à²¨à³ ನಮೂನೆ ವಿವರಣೆ '%s' ಯೊಂದಿಗೆ ತೆರೆಯಲಾಗà³à²¤à³à²¤à²¿à²¦à³†.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "ಒಂದೠ%s ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಅನà³à²¨à³ ನಮೂನೆ ವಿವರಣೆ '%s' ಯೊಂದಿಗೆ ತೆರೆಯಲಾಗà³à²¤à³à²¤à²¿à²¦à³†.\n"
#: ../src/utils/pacat.c:1006
@@ -1649,35 +1511,34 @@ msgstr "ರೆಕಾರà³à²¡à²¿à²‚ಗà³"
msgid "playback"
msgstr "ಪà³à²²à³‡à²¬à³à²¯à²¾à²•à³â€Œ"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() failed.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() ವಿಫಲಗೊಂಡಿದೆ.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() failed.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() failed: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() failed.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() failed.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() failed.\n"
#: ../src/utils/pasuspender.c:81
@@ -1705,6 +1566,11 @@ msgstr "ಮರಳಿ ಆರಂಭಿಸಲೠವಿಫಲಗೊಂಡಿದೆ:
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "ಎಚà³à²šà²°à²¿à²•à³†: ಧà³à²µà²¨à²¿ ಪರಿಚಾರಕವೠಸà³à²¥à²³à³€à²¯à²µà²¾à²—ಿಲà³à²², ತಾತà³à²•à²¾à²²à²¿à²•à²µà²¾à²—ಿ ತಡೆಹಿಡಿಯಲಾಗà³à²¤à³à²¤à²¿à²²à³à²².\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "ಸಂಪರà³à²•à²¦ ವಿಫಲತೆ: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1744,6 +1610,21 @@ msgstr ""
"libpulse %s ನೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ\n"
"libpulse %s ನೊಂದಿಗೆ ಜೋಡಿಸಲಾಗಿದೆ\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() failed.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() failed.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() failed.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2159,6 +2040,11 @@ msgstr ""
"libpulse %s ನೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ\n"
"libpulse %s ನೊಂದಿಗೆ ಜೋಡಿಸಲಾಗಿದೆ\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಚಾನಲೠನಕà³à²·à³† '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "ಲೋಡೠಮಾಡಬೇಕಿರà³à²µ ಒಂದೠಕಡತದ ನಮೂನೆಯನà³à²¨à³ ಸೂಚಿಸಿ\n"
@@ -2167,6 +2053,11 @@ msgstr "ಲೋಡೠಮಾಡಬೇಕಿರà³à²µ ಒಂದೠಕಡತದ à²
msgid "Failed to open sound file.\n"
msgstr "ಧà³à²µà²¨à²¿ ಕಡತವನà³à²¨à³ ತೆರೆಯà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "ನಮೂನೆಯ ಮಾಹಿತಿಯನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2230,11 +2121,6 @@ msgstr "ಒಂದೠಕಾರà³à²¡à²¿à²¨ ಹೆಸರà³/ಸೂಚಿಯನà³
msgid "No valid command specified.\n"
msgstr "ಯಾವà³à²¦à³† ಆಜà³à²žà³†à²¯à²¨à³à²¨à³ ಸೂಚಿಸಲಾಗಿಲà³à²².\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() failed: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2352,11 +2238,11 @@ msgstr "ಓದà³(): %s"
msgid "write(): %s"
msgstr "ಬರೆ(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "ಸà³à²µà²¯à²‚ಹೆಚà³à²šà²¿à²¸à³à²µà²¿à²•à³†à²¯ ಲಾಕೠಅನà³à²¨à³ ನಿಲà³à²•à²¿à²¸à²¿à²•à³Šà²³à³à²³à²²à³ ಸಾಧà³à²¯à²µà²¿à²²à³à²²."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2371,7 +2257,7 @@ msgstr ""
"ವಿಕಸನಗಾರರ ಗಮನಕà³à²•à³† ತನà³à²¨à²¿.POLLOUT ಸೆಟà³â€Œà²¨à²¿à²‚ದ ನಾವೠಎಚà³à²šà³†à²¤à³à²¤à³à²—ೊಂಡಿದà³à²¦à³‡à²µà³† -- ಆದರೆ ನಂತರದ "
"snd_pcm_avail() 0 ಅಥವ min_avail ಕà³à²•à²¿à²‚ತ ಚಿಕà³à²•à²¦à²¾à²¦ ಇನà³à²¨à³Šà²‚ದೠಮೌಲà³à²¯à²µà²¨à³à²¨à³ ಮರಳಿಸಿದೆ."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2387,15 +2273,15 @@ msgstr ""
"snd_pcm_avail() 0 ಅಥವ min_avail ಕà³à²•à²¿à²‚ತ ಚಿಕà³à²•à²¦à²¾à²¦ ಇನà³à²¨à³Šà²‚ದೠಮೌಲà³à²¯à²µà²¨à³à²¨à³ ಮರಳಿಸಿದೆ."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "ಜಡ"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "ಹೈ ಫಿಡಿಲಿಟಿ ಪà³à²²à³‡à²¬à³à²¯à²¾à²•à³ (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "ಟೆಲಿಫೋನಿ ಡà³à²¯à³‚ಪà³à²²à³†à²•à³à²¸à³â€Œ (HSP/HFP)"
@@ -2403,6 +2289,137 @@ msgstr "ಟೆಲಿಫೋನಿ ಡà³à²¯à³‚ಪà³à²²à³†à²•à³à²¸à³â€Œ (HSP/HF
msgid "PulseAudio Sound Server"
msgstr "ಪಲà³à²¸à³â€à²†à²¡à²¿à²¯à³‹ ಧà³à²µà²¨à²¿ ಪರಿಚಾರಕ"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಬಸà³â€Œà²—ೆ ಸಂಪರà³à²•à²œà³‹à²¡à²¿à²¸à²²à³ ಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID ಇಂದ ಕಾಲರೠಅನà³à²¨à³ ಪಡೆಯಲಾಗಿಲà³à²²: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "ಕಾಲರೠವಸà³à²¤à³à²µà²¿à²¨à²²à³à²²à²¿ UID ಅನà³à²¨à³ ಅಣಿಗೊಳಿಸಲಾಗಲಿಲà³à²²."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK ಅಧಿವೇಶನವನà³à²¨à³ ಪಡೆಯಲಾಗಲಿಲà³à²²."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "ಅಧಿವೇಶನದ ವಸà³à²¤à³à²µà²¿à²¨à²²à³à²²à²¿ UID ಅನà³à²¨à³ ಅಣಿಗೊಳಿಸಲಾಗಲಿಲà³à²²."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction ಅನà³à²¨à³ ನಿಯೋಜಿಸಲಾಗಿಲà³à²²."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id ಅನà³à²¨à³ ಹೊಂದಿಸಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext ಅನà³à²¨à³ ನಿಯೋಜಿಸಲಾಗಿಲà³à²²."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext ಅನà³à²¨à³ ಆರಂಭಿಸಲಾಗಿಲà³à²²: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "ಕಾಲರೠಅಧೀಕೃತವಾಗಿದà³à²¦à³† ಎಂದೠನಿರà³à²§à²°à²¿à²¸à²²à³ ಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "auth ಅನà³à²¨à³ ಪಡೆಯಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit '%s' ನೊಂದಿಗೆ ಪà³à²°à²¤à³à²¯à³à²¤à³à²¤à²°à²¿à²¸à²¿à²¦à³†"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr "PulseAudio ಡೀಮನà³â€Œà²—ಾಗಿ ಹೆಚà³à²šà²¿à²¨ ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠ(ಋಣಾತà³à²®à²• ಯೂನಿಕà³à²¸à³â€Œ ನೈಸೠಹಂತ)"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio ಡೀಮನà³â€Œà²—ಾಗಿ ರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗà³"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "PulseAudio ಹೆಚà³à²šà²¿à²¨ ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à²¦à²‚ತೆ ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಪಾಲಿಸಿಯೠ"
+#~ "ತಡೆಯà³à²¤à³à²¤à²¦à³†."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "PulseAudio ರಿಯಲà³-ಟೈಮà³â€Œ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à²¦à²‚ತೆ ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಪಾಲಿಸಿಯೠ"
+#~ "ತಡೆಯà³à²¤à³à²¤à²¦à³†."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "ಓದà³à²µà²¿à²•à³†() ವಿಫಲಗೊಂಡಿದೆ: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() failed: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²¦à³à²¦à³‡à²µà³†, ಹಾಗೠಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à³‡à²µà³†."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²¦à³à²¦à³‡à²µà³†, ಹಾಗೠರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à³‡à²µà³†."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•à³Š ಅನà³à²¨à³ PolicyKit ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à²¦à³†."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•à³Š ಅನà³à²¨à³ PolicyKit ನಿರಾಕರಿಸà³à²¤à³à²¤à²¦à³†."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "ರಿಯಲà³-ಟೈಮೠಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•à³Š ಅನà³à²¨à³ PolicyKit ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à²¦à³†."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "ರಿಯಲà³-ಟೈಮೠಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•à³Š ಅನà³à²¨à³ PolicyKit ನಿರಾಕರಿಸà³à²¤à³à²¤à²¦à³†."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "SUID ರೂಟೠಅನà³à²¨à³ ಕರೆಯಲಾಗಿದೆ ಹಾಗೠಸಂರಚನೆಯಲà³à²²à²¿ ರಿಯಲà³-ಟೈಲೠಹಾಗà³/ಅಥವ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† "
+#~ "ಶೆಡà³à²¯à³‚ಲಿಂಗà³â€Œà²—ೆ ಮನವಿ ಸಲà³à²²à²¿à²¸à²²à²¾à²—ಿದೆ. ಆದರೆ, ಅಗತà³à²¯à²µà²¿à²°à³à²µ ಸವಲತà³à²¤à³à²—ಳೠನಮà³à²®à²²à³à²²à²¿à²²à³à²²:\n"
+#~ "ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²²à³à²²,ಮನವಿ ಸಲà³à²²à²¿à²¸à²²à²¾à²¦ ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಒದಗಿಸಲೠPolicyKit "
+#~ "ನಿರಾಕರಿಸಿದೆ ಹಾಗೠRLIMIT_NICE/RLIMIT_RTPRIO ಸಂಪನà³à²®à³‚ಲದ ಮಿತಿಯನà³à²¨à³ ಹೆಚà³à²šà²¿à²¸à²²à³ "
+#~ "ನಮà³à²®à²¿à²‚ದ ಸಾಧà³à²¯à²µà²¿à²²à³à²².\n"
+#~ "ರಿಯಲà³-ಟೈಲೠಹಾಗà³/ಅಥವ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಶೆಡà³à²¯à³‚ಲಿಂಗà³â€Œ ಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲೠದಯವಿಟà³à²Ÿà³ ಸೂಕà³à²¤à²µà²¾à²¦ "
+#~ "PolicyKit ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಪಡೆದà³à²•à³Šà²³à³à²³à²¿, ಅಥವ '%s' ನ ಸದಸà³à²¯à²°à²¾à²—ಿ, ಅಥವ ಈ "
+#~ "ಬಳಕೆದಾರನಿಗಾಗಿ RLIMIT_NICE/RLIMIT_RTPRIO ಸಂಪನà³à²®à³‚ಲ ಮಿತಿಯನà³à²¨à³ ಹೆಚà³à²šà²¿à²¸à²¿."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "ಸಂರಚನೆಯಲà³à²²à²¿ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ ಆದರೆ ಪಾಲಿಸಿಯಿಂದ "
+#~ "ಅನà³à²®à²¤à²¿ ಇಲà³à²²."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO ಅನà³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಹೆಚà³à²šà²¿à²¸à²²à²¾à²—ಿದೆ"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO ವಿಫಲಗೊಂಡಿದೆ: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE ಅನà³à²¨à³ ಬಿಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "ಸಂರಚನೆಯಲà³à²²à²¿ ರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ ಆದರೆ ಪಾಲಿಸಿಯಿಂದ ಅನà³à²®à²¤à²¿ "
+#~ "ಇಲà³à²²."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "CAP_SYS_NICE ಗಾಗಿನ ಯಶಸà³à²µà²¿ ನಿಯಮಿತ ಸಾಮರà³à²¥à³à²¯à²—ಳà³."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() failed.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "ಅನಲಾಗೠಮೊನೊ"
diff --git a/po/mr.po b/po/mr.po
index 6e3c759a..56bc731c 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-06 13:43+0530\n"
"Last-Translator: Sandeep Shedmake <sandeep.shedmake@gmail.com>\n"
"Language-Team: marathi\n"
@@ -17,7 +17,12 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -29,7 +34,7 @@ msgstr ""
"हे सहसा ALSA डà¥à¤°à¤¾à¤‡à¤µà¤° '%s' अंतरà¥à¤—त बग अशू शकते. कृपया या अडचणीस ALSA डेवà¥à¤¹à¤²à¤ªà¤° करीता "
"कळवा."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -41,7 +46,7 @@ msgstr ""
"हे सहसा ALSA डà¥à¤°à¤¾à¤‡à¤µà¤° '%s' अंतरà¥à¤—त बग अशू शकते. कृपया या अडचणीस ALSA डेवà¥à¤¹à¤²à¤ªà¤° करीता "
"कळवा."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -66,7 +71,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "आंतरीक ऑडिओ"
@@ -86,367 +91,242 @@ msgstr "नवीन dl दाखलकरà¥à¤¤à¤¾ वाटप करणà¥à¤¯
msgid "Failed to add bind-now-loader."
msgstr "bind-now-loader समावेष करणà¥à¤¯à¤¾à¤¸ अपयशी."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ बसशी जà¥à¤³à¤µà¤£à¥€ करणà¥à¤¯à¤¾à¤¸ अशकà¥à¤¯: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID पासून कॉलर पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अशकà¥à¤¯: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "कॉलर ऑबजेकà¥à¤Ÿ वरील UID निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK सतà¥à¤° पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अपयशी."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "सतà¥à¤° ऑबजेकà¥à¤Ÿ वरील UID निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction वाटप करणे अशकà¥à¤¯."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext वाटप करणे अशकà¥à¤¯."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext पà¥à¤°à¤¾à¤°à¤‚भ करणे अशकà¥à¤¯: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "कॉलर अधिकृत आहे की नाही हे ओळखणे शकà¥à¤¯ नाही: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "परवानगी पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अशकà¥à¤¯: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit ने '%s' सह पà¥à¤°à¤¤à¤¿à¤¸à¤¾à¤¦ दिला"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "संकेत %s पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "बाहेर पडत आहे."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "वापरकरà¥à¤¤à¤¾ '%s' शोधणे अशकà¥à¤¯."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "गट '%s' शोधणà¥à¤¯à¤¾à¤¸ अपयशी."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "वापरकरà¥à¤¤à¤¾ '%s' (UID %lu) व गट '%s' (GID %lu) आढळले."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "वापरकरà¥à¤¤à¤¾ '%s' व गट '%s' चे GID जà¥à¤³à¤¤ नाही."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "वापरकरà¥à¤¤à¤¾ '%s' ची मà¥à¤–à¥à¤¯ डिरेकà¥à¤Ÿà¥à¤°à¥€ '%s' नाही, दà¥à¤°à¥à¤²à¤•à¥à¤· करत आहे."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' बनवणà¥à¤¯à¤¾à¤¸ अपयशी: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "गट यादी बदलवणà¥à¤¯à¤¾à¤¸ अपयशी: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID बदलवणà¥à¤¯à¤¾à¤¸ अपयशी: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID बदलवणà¥à¤¯à¤¾à¤¸ अपयशी: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "रूट परवानगी यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ वगळले."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ भर पदà¥à¤§à¤¤ या पà¥à¤²à¥…टफॉरà¥à¤® करीता समरà¥à¤¥à¥€à¤¤ नाही."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) अपयशी: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "आदेश ओळ वाचणà¥à¤¯à¤¾à¤¸ अपयशी."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "आपण गट '%s' अंतरà¥à¤—त आहोत, उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• करीता परवानगी देते."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "आपण गट '%s' अंतरà¥à¤—त आहोत, रियल-टाईम वेळपतà¥à¤°à¤• करीता परवानगी देते."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit आपलà¥à¤¯à¤¾à¤²à¤¾ acquire-high-priority परवानगी देतो."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit acquire-high-priority परवानगी नकारतो."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit acquire-real-time परवानगी पà¥à¤°à¤µà¤¿à¤¤à¥‹."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit acquire-real-time परवानगी नकारतो."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"SUID रूटला कॉल केले व वासà¥à¤¤à¤µà¤¿à¤•-वेळ व/किंवा संयोजना अंतरà¥à¤—त उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• "
-"विनंतीकृत केले. तरी, आमचà¥à¤¯à¤¾à¤•à¤¡à¥‡ आवशà¥à¤¯à¤• परवानगी नाही:\n"
-"आमà¥à¤¹à¥€ गट '%s' अंतरà¥à¤—त नाही, PolicyKit ने विनंतीकृत परवानगी देणà¥à¤¯à¤¾à¤¸ नकार दिला व "
-"RLIMIT_NICE/RLIMIT_RTPRIO सà¥à¤¤à¥à¤°à¥‹à¤¤ मरà¥à¤¯à¤¾à¤¦à¤¾ वाढविणे आवशà¥à¤¯à¤• आहे.\n"
-"रियल-टाइम/उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करणà¥à¤¯à¤¾à¤•à¤°à¥€à¤¤à¤¾ कृपयायोगà¥à¤¯ PolicyKit "
-"परवानगी पà¥à¤°à¤¾à¤ªà¥à¤¤ करा, किंवा '%s' चे सदसà¥à¤¯ बनवा, किंवा या वापरकरà¥à¤¤à¤¾ करीताRLIMIT_NICE/"
-"RLIMIT_RTPRIO सà¥à¤¤à¥à¤°à¥‹à¤¤ मरà¥à¤¯à¤¾à¤¦à¤¾ वाढवा."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"संयोजना अंतरà¥à¤—त उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ केले करार दà¥à¤µà¤¾à¤°à¥‡ सà¥à¤µà¥€à¤•à¤¾à¤°à¥à¤¯ नाही."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ RLIMIT_RTPRIO वाढवले"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO अपयशी: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE करीता पà¥à¤°à¤¯à¤¤à¥à¤¨ बंद केले"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"संयोजना अंतरà¥à¤—त रियल-टाईम वेळपतà¥à¤° कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करत आहे परंतॠकरार दà¥à¤µà¤¾à¤°à¥‡ सà¥à¤µà¥€à¤•à¤¾à¤°à¥à¤¯ नाही."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "डिमन कारà¥à¤¯à¤°à¤¤ नाही"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "डिमन PID %u नà¥à¤°à¥‚प कारà¥à¤¯à¤°à¤¤ आहे"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "डिमन नषà¥à¤Ÿ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr "हा कारà¥à¤¯à¤•à¥à¤°à¤® रूट नà¥à¤°à¥‚प चालविणà¥à¤¯à¤¾à¤•à¤°à¥€à¤¤à¤¾ नाही (जोपरà¥à¤¯à¤‚त --system निशà¥à¤šà¤¿à¤¤ नाही)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "रूट परवानगी आवशà¥à¤¯à¤•."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ घटनांकरीता --start समरà¥à¤¥à¥€à¤¤ नाही."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€ अंतरà¥à¤—त कारà¥à¤¯à¤°à¤¤, परंतॠ--disallow-exit निशà¥à¤šà¤¿à¤¤ केले नाही!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€ अंतरà¥à¤—त कारà¥à¤¯à¤°à¤¤, परंतॠ--disallow-module-loading निशà¥à¤šà¤¿à¤¤ केले नाही!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€ अंतरà¥à¤—त कारà¥à¤¯à¤°à¤¤, SHM पदà¥à¤§à¤¤ जबरनरितà¥à¤¯à¤¾ अकारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करत आहे!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€ अंतरà¥à¤—त कारà¥à¤¯à¤°à¤¤, रिकामे वेळ जबरनरितà¥à¤¯à¤¾ अकारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करत आहे!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "पाइप अपयशी: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() अपयशी: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() अपयशी: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "डिमन सà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤…प अपयशी."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "डिमन सà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤…प यशसà¥à¤µà¥€."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "हे PulseAudio %s आहे"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "कंपाइलेशन यजमान: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "कंपाइलेशन CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "यजमान वर कारà¥à¤¯à¤°à¤¤: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPUs आढळले."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "पान आकार %lu बाईटसॠआहे"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Valgrind समरà¥à¤¥à¤¨à¤¶à¥€ कंपाईल केले: होय"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Valgrind समरà¥à¤¥à¤¨à¤¶à¥€ कंपाईल केले: नाही"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "valgrind पदà¥à¤§à¤¤à¥€à¤¤ कारà¥à¤¯à¤°à¤¤: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "अनà¥à¤•à¥‚ल बिलà¥à¤¡: होय"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "अनà¥à¤•à¥‚ल बिलà¥à¤¡: नाही"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG वरà¥à¤£à¥€à¤•à¥ƒà¤¤, सरà¥à¤µ asserts अकारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH वरà¥à¤£à¥€à¤•à¥ƒà¤¤, फकà¥à¤¤ जलद मारà¥à¤—ीय asserts अकारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ केले."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "सरà¥à¤µ asserts कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ केले."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "मशीन ID पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "मशीन ID %s आहे."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "मशीन ID %s आहे."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "रनटाईम डिरेकà¥à¤Ÿà¥à¤°à¥€ %s वापरत आहे."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "सà¥à¤¥à¤¿à¤¤à¥€ डिरेकà¥à¤Ÿà¥à¤°à¥€ %s वापरत आहे."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€à¤¤ कारà¥à¤¯à¤°à¤¤: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -456,15 +336,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() अपयशी."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "नवीन उचà¥à¤š-बिंदूता टाइमर उपलबà¥à¤§! Bon appetit!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -472,27 +352,27 @@ msgstr ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() अपयशी."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "डिमन पà¥à¤°à¤¾à¤°à¤‚भ करणà¥à¤¯à¤¾à¤¸ अपयशी."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "विना विभाग दाखल केलà¥à¤¯à¤¾à¤¸ डिमन पà¥à¤°à¤¾à¤°à¤‚भ à¤à¤¾à¤²à¥‡, कारà¥à¤¯ करणà¥à¤¯à¤¾à¤¸ नकार."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "डिमन सà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤…प पूरà¥à¤£ à¤à¤¾à¤²à¥‡."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "डिमन पूरà¥à¤£à¤ªà¤£à¥‡ बंद करणà¥à¤¯à¤¾à¤¸ पà¥à¤°à¤¾à¤°à¤‚भ केले."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "डिमन नषà¥à¤Ÿ केले."
@@ -827,14 +707,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### संयोजना फाइल: %s पासून वाचा ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "रà¥à¤Ÿ परवानगी वगळत आहे."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "कà¥à¤·à¤®à¤¤à¤¾ यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ CAP_SYS_NICE करीता मरà¥à¤¯à¤¾à¤¦à¥€à¤¤ केले."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio आवाज पà¥à¤°à¤£à¤¾à¤²à¥€"
@@ -843,24 +719,6 @@ msgstr "PulseAudio आवाज पà¥à¤°à¤£à¤¾à¤²à¥€"
msgid "Start the PulseAudio Sound System"
msgstr "PulseAudio आवाज पà¥à¤°à¤£à¤¾à¤²à¥€ सà¥à¤°à¥‚ करा"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "PulseAudio डिमन करीता उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• (नकारातà¥à¤®à¤• Unix nice सà¥à¤¤à¤°)"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio डिमन करीता रियल-टाइम वेळपतà¥à¤°à¤•"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ करार PulseAudio ला उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤ªà¤¾à¤¸à¥‚न रोखते."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ करार PulseAudio ला रियल-टाइम वेळपतà¥à¤°à¤• पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤ªà¤¾à¤¸à¥‚न रोखते."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "मोनो"
@@ -1233,183 +1091,187 @@ msgstr "कà¥à¤•à¥€ डेटा वाचणà¥à¤¯à¤¾à¤¸ अपयशी"
msgid "Failed to open configuration file '%s': %s"
msgstr "संयोजना फाइल '%s' उघडणà¥à¤¯à¤¾à¤¸ अपयशी: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "कà¥à¤•à¥€ दाखल केले नाही. जà¥à¤³à¤µà¤£à¥€à¤šà¤¾ पà¥à¤°à¤¯à¤¤à¥à¤¨ करत आहे."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "अपरिचीत वाढ '%s' करीता संदेश पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® रिकामे करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "पà¥à¤²à¥‡à¤¬à¥…क सà¥à¤Ÿà¥à¤°à¥€à¤® रिकामे केले.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "सरà¥à¤µà¤° करीता जà¥à¤³à¤µà¤£à¥€ डà¥à¤°à¥‡à¤¨ केली.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() अपयशी: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() अपयशी: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() अपयशी: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ बनवले.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() अपयशी: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "बफर मेटà¥à¤°à¥€à¤•: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "बफर मेटà¥à¤°à¥€à¤•: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "उदाहरणतया spec '%s', वाहिनी नकाशा '%s' वापरत आहे.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "साधन %s शी जà¥à¤³à¤²à¥‡ (%u, %s ससà¥à¤ªà¥‡à¤‚ड केले).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® तà¥à¤°à¥à¤Ÿà¥€: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® साधन ससà¥à¤ªà¥‡à¤‚ड केले.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® साधन पà¥à¤¨à¥à¤¹à¤¾ सà¥à¤°à¥‚ केले.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® underrun.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® overrun.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® सà¥à¤°à¥‚ केले.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® साधन %s कडे सà¥à¤¥à¤¾à¤¨à¤¾à¤‚तरीत केले (%u, %ssuspended).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "नाही "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® बफर गà¥à¤£à¤§à¤°à¥à¤® बदलले.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "जà¥à¤³à¤µà¤£à¥€ सà¥à¤¥à¤¾à¤ªà¥€à¤¤ केली.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() अपयशी: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() अपयशी: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() अपयशी: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "जà¥à¤³à¤µà¤£à¥€ अपयशी: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() अपयशी: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() अपयशी: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "संकेत पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡, बाहेर पडत आहे.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "विलंब पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "वेळ: %0.3f sec; विलंब: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() अपयशी: %s\n"
#: ../src/utils/pacat.c:605
@@ -1531,34 +1393,34 @@ msgstr ""
"libpulse %s शी कंपाई केले\n"
"libpulse %s शी लिंक केले\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "अवैध वाहिनी नकाशा '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "अवैध पà¥à¤¨à¥à¤¹ सॅमà¥à¤ªà¤² पदà¥à¤§à¤¤ '%s'."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "अवैध वाहिनी नकाशा '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "अवैध विलंब संयोजना '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "अवैध कारà¥à¤¯ वेळ संयोजना '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "अवैध पà¥à¤¨à¥à¤¹ सॅमà¥à¤ªà¤² पदà¥à¤§à¤¤ '%s'."
#: ../src/utils/pacat.c:878
@@ -1567,60 +1429,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "अवैध सॅमà¥à¤ªà¤² संयोजना\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "खूप जासà¥à¤¤ बाब.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "सॅमà¥à¤ªà¤² माहिती पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "आवाज फाइल उघडणà¥à¤¯à¤¾à¤¸ अपयशी.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® सॅमà¥à¤ªà¤² संयोजना '%s' शी उघडत आहे.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "सॅमà¥à¤ªà¤² माहिती पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® सॅमà¥à¤ªà¤² संयोजना '%s' शी उघडत आहे.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "वाहिनी नकाशा सॅमà¥à¤ªà¤² संयोजनाशी जà¥à¤³à¤¤ नाही\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® सॅमà¥à¤ªà¤² संयोजना '%s' शी उघडत आहे.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® सॅमà¥à¤ªà¤² संयोजना '%s' शी उघडत आहे.\n"
#: ../src/utils/pacat.c:1006
@@ -1631,35 +1499,34 @@ msgstr "रेकॉरà¥à¤¡à¥€à¤‚ग"
msgid "playback"
msgstr "पà¥à¤²à¥‡à¤¬à¥…क"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() अपयशी.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() अपयशी.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() अपयशी.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() अपयशी: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() अपयशी.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() अपयशी.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() अपयशी.\n"
#: ../src/utils/pasuspender.c:81
@@ -1687,6 +1554,11 @@ msgstr "पà¥à¤¨à¥à¤¹à¤¾ चालू करणà¥à¤¯à¤¾à¤¸ अपयशी: %
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "सावधानता: आवाज सरà¥à¤µà¤° सà¥à¤¥à¤¾à¤¨à¥€à¤¯ नाही, ससà¥à¤ªà¥‡à¤‚ड करत नाही.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "जà¥à¤³à¤µà¤£à¥€ अपयशी: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1727,6 +1599,21 @@ msgstr ""
"libpulse %s शी कंपाई केले\n"
"libpulse %s शी लिंक केले\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() अपयशी.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() अपयशी.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() अपयशी.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2141,6 +2028,11 @@ msgstr ""
"libpulse %s सह कंपाईल केले\n"
"libpulse %s सह जà¥à¤³à¤²à¥‡\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "अवैध वाहिनी नकाशा '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "कृपया दाखल करणà¥à¤¯à¤¾à¤œà¥‹à¤—ी तातà¥à¤ªà¥‚रà¥à¤¤à¥€ फाइल निशà¥à¤šà¤¿à¤¤ करा\n"
@@ -2149,6 +2041,11 @@ msgstr "कृपया दाखल करणà¥à¤¯à¤¾à¤œà¥‹à¤—ी तातà¥
msgid "Failed to open sound file.\n"
msgstr "आवाज फाइल उघडणà¥à¤¯à¤¾à¤¸ अपयशी.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "सॅमà¥à¤ªà¤² माहिती पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2212,11 +2109,6 @@ msgstr "तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ कारà¥à¤¡ नाव/निरà¥à¤¦à¥‡à¤¶
msgid "No valid command specified.\n"
msgstr "वैध आदेश निशà¥à¤šà¤¿à¤¤ केले नाही.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() अपयशी: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2333,11 +2225,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "autospawn कà¥à¤²à¥‚प करीता पà¥à¤°à¤µà¥‡à¤¶ पà¥à¤°à¤¾à¤ªà¥à¤¯ अशकà¥à¤¯."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2352,7 +2244,7 @@ msgstr ""
"POLLOUT दà¥à¤µà¤¾à¤°à¥‡ सजà¥à¤œ होणे शकà¥à¤¯ आहे -- तरी परसà¥à¤ªà¤° snd_pcm_avail() ने 0 पूरविले किंवा इतर "
"मूलà¥à¤¯ < min_avail असावे."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2368,15 +2260,15 @@ msgstr ""
"मूलà¥à¤¯ < min_avail असावे."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "बंद करा"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "High Fidelity Playback (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Telephony Duplex (HSP/HFP)"
@@ -2384,6 +2276,130 @@ msgstr "Telephony Duplex (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio आवाज सरà¥à¤µà¤°"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ बसशी जà¥à¤³à¤µà¤£à¥€ करणà¥à¤¯à¤¾à¤¸ अशकà¥à¤¯: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID पासून कॉलर पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अशकà¥à¤¯: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "कॉलर ऑबजेकà¥à¤Ÿ वरील UID निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK सतà¥à¤° पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अपयशी."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "सतà¥à¤° ऑबजेकà¥à¤Ÿ वरील UID निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction वाटप करणे अशकà¥à¤¯."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext वाटप करणे अशकà¥à¤¯."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext पà¥à¤°à¤¾à¤°à¤‚भ करणे अशकà¥à¤¯: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "कॉलर अधिकृत आहे की नाही हे ओळखणे शकà¥à¤¯ नाही: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "परवानगी पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अशकà¥à¤¯: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit ने '%s' सह पà¥à¤°à¤¤à¤¿à¤¸à¤¾à¤¦ दिला"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "PulseAudio डिमन करीता उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• (नकारातà¥à¤®à¤• Unix nice सà¥à¤¤à¤°)"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio डिमन करीता रियल-टाइम वेळपतà¥à¤°à¤•"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "पà¥à¤°à¤£à¤¾à¤²à¥€ करार PulseAudio ला उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤ªà¤¾à¤¸à¥‚न रोखते."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ करार PulseAudio ला रियल-टाइम वेळपतà¥à¤°à¤• पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤ªà¤¾à¤¸à¥‚न रोखते."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() अपयशी: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() अपयशी: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "आपण गट '%s' अंतरà¥à¤—त आहोत, उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• करीता परवानगी देते."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "आपण गट '%s' अंतरà¥à¤—त आहोत, रियल-टाईम वेळपतà¥à¤°à¤• करीता परवानगी देते."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit आपलà¥à¤¯à¤¾à¤²à¤¾ acquire-high-priority परवानगी देतो."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit acquire-high-priority परवानगी नकारतो."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit acquire-real-time परवानगी पà¥à¤°à¤µà¤¿à¤¤à¥‹."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit acquire-real-time परवानगी नकारतो."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "SUID रूटला कॉल केले व वासà¥à¤¤à¤µà¤¿à¤•-वेळ व/किंवा संयोजना अंतरà¥à¤—त उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• "
+#~ "विनंतीकृत केले. तरी, आमचà¥à¤¯à¤¾à¤•à¤¡à¥‡ आवशà¥à¤¯à¤• परवानगी नाही:\n"
+#~ "आमà¥à¤¹à¥€ गट '%s' अंतरà¥à¤—त नाही, PolicyKit ने विनंतीकृत परवानगी देणà¥à¤¯à¤¾à¤¸ नकार दिला व "
+#~ "RLIMIT_NICE/RLIMIT_RTPRIO सà¥à¤¤à¥à¤°à¥‹à¤¤ मरà¥à¤¯à¤¾à¤¦à¤¾ वाढविणे आवशà¥à¤¯à¤• आहे.\n"
+#~ "रियल-टाइम/उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करणà¥à¤¯à¤¾à¤•à¤°à¥€à¤¤à¤¾ कृपयायोगà¥à¤¯ PolicyKit "
+#~ "परवानगी पà¥à¤°à¤¾à¤ªà¥à¤¤ करा, किंवा '%s' चे सदसà¥à¤¯ बनवा, किंवा या वापरकरà¥à¤¤à¤¾ "
+#~ "करीताRLIMIT_NICE/RLIMIT_RTPRIO सà¥à¤¤à¥à¤°à¥‹à¤¤ मरà¥à¤¯à¤¾à¤¦à¤¾ वाढवा."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "संयोजना अंतरà¥à¤—त उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ केले करार दà¥à¤µà¤¾à¤°à¥‡ सà¥à¤µà¥€à¤•à¤¾à¤°à¥à¤¯ नाही."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ RLIMIT_RTPRIO वाढवले"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO अपयशी: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE करीता पà¥à¤°à¤¯à¤¤à¥à¤¨ बंद केले"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "संयोजना अंतरà¥à¤—त रियल-टाईम वेळपतà¥à¤° कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करत आहे परंतॠकरार दà¥à¤µà¤¾à¤°à¥‡ सà¥à¤µà¥€à¤•à¤¾à¤°à¥à¤¯ नाही."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "कà¥à¤·à¤®à¤¤à¤¾ यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ CAP_SYS_NICE करीता मरà¥à¤¯à¤¾à¤¦à¥€à¤¤ केले."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() अपयशी.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "à¤à¤¨à¤²à¥‰à¤— मोनो"
diff --git a/po/nl.po b/po/nl.po
index a75efed0..452ff5ba 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-15 21:04+0200\n"
"Last-Translator: Geert Warrink <geert.warrink@onsnet.nu>\n"
"Language-Team: Dutch <nl@li.org>\n"
@@ -17,7 +17,12 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -30,7 +35,7 @@ msgstr ""
"Waarschijnlijk is dit een bug in de ALSA driver '%s'. Rapporteer dit "
"probleem a.u.b. aan de ALSA ontwikkelaars."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -43,7 +48,7 @@ msgstr ""
"Waarschijnlijk is dit een bug in de ALSA driver '%s'. Rapporteer dit "
"probleem a.u.b. aan de ALSA ontwikkelaars."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -69,7 +74,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Intern geluid"
@@ -89,220 +94,92 @@ msgstr "Kon die nieuwe dl lader niet toekennen."
msgid "Failed to add bind-now-loader."
msgstr "Kon bind-now-loader niet toevoegen."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Kan niet verbinden met systeem bus: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Kan geen bezoeker krijgen van PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Kan UID niet instellen op caller object."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Kon geen CK sessie krijgen."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Kan UID niet instellen op sessie object."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Kan PolKitAction niet toekennen."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Kan action_id niet instellen"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Kan PolKitContext niet toekennen."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Kan PolKitContext niet intialiseren: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Kon niet bepalen of bezoeker gemachtigd is: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Kan geen authorisatie krijgen: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit antwoordde met '%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Ontving signaal %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Afsluiten."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Kon gebruiker '%s' niet vinden."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Kon groep '%s' niet vinden."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Gebruiker '%s' (UID %lu) en groep '%s' (GID %lu) gevonden."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID van gebruiker '%s' en van groep '%s' passen niet bij elkaar."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Persoonlijke map van gebruiker '%s' is niet '%s', negeer het."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Aanmaken van '%s': %s mislukte"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Veranderen van groeps lijst: '%s' mislukte"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Veranderen van GID: %s mislukte"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Veranderen van UID: %s mislukte"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Root rechten met succes laten vervallen."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Systeem brede mode wordt op dit platform niet ondersteund."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) mislukte: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Analyseren van de commandoregel mislukte."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "Wij zijn in de groep '%s', wat plannen met hoge prioriteit toestaat."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "Wij zijn in de groep '%s', war real-time planning toestaat."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit kent ons acquire-high-priority rechten toe."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit weigert ons acquire-high-priority rechten."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit kent ons acquire-real-time rechten toe."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit weigert ons acquire-real-time rechten."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Aangeroepen met SUID root en real-time en/of high-priority inplannen was "
-"verzocht in de configuratie. Echter de nodige rechten ontbreken:\n"
-"We zijn niet in groep '%s', PolicyKit weigert om ons de gevraagde rechten te "
-"geven en we hebben geen rect om de RLIMIT_NICE/RLIMIT_RTPRIO limieten te "
-"verhogen.\n"
-"Voor het aanzetten van real-time/high-priority inplannen mort je juiste "
-"PolicyKit privileges hebben, of lid van '%s\" worden, of de RLIMIT_NICE/"
-"RLIMIT_RTPRIO limieten voor deze gebruiker verhogen."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Hoge prioriteit inplannen is aangezet in de configuratie maar niet "
-"toegestaan door de richtlijnen."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO met succes verhoogd"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO mislukte: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Opgeven CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Real-time inplannen is aangezet in de configuratie maar niet toegestaan door "
-"de richtlijnen."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Daemon draait niet"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Daemon draait met PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Afschieten mislukt van daemon: '%s'"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -310,151 +187,151 @@ msgstr ""
"Dit programma is niet bedoeld om als root gedraaid te worden (behalve als --"
"system is opgegeven)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Root rechten vereisd"
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start wordt niet ondersteund voor systeem instances"
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "Draaiend in systeem mode, maar --disallow-exit is niet gezet!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"Draaiend in systeem mode, maar --disallow-module-loading is niet gezet!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "Draaiend in systeem mode, geforceerd uitzetten van SHM mode!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "Draaiend in systeem mode, geforceerd uitzetten van exit idle time!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Verkrijgen van stdio mislukte."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe mislukte: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() mislukte: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() mislukte: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Daemon opstarten mislukte."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Daemon met succes opgestart."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Dit is PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Compilatie host: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "Compilatie CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Draaiend op host: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPU's gevonden."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Pagina grootte is %lu bytes"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Gecompileerd met Valgrind ondersteuning: ja"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Gecompileerd met Valgrind ondersteuning: nee"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Draaiend in valgrind mode: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimaal gebouwd: ja"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Optimaak gebouwd: nee"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG gedefinieerd, alle verklaringen uitgezet."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH gedefinieerd, alleen snel pad verklaringen uitgezet."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Alle verklaringen aangezet."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Machine ID verkrijgen mislukte"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "Machine ID is: %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "Machine ID is: %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Gebruik van runtime map %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Verbruik van state map %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Draaiend in systeem mode: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -464,15 +341,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() mislukte."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Verse high-resolution timers beschikbaar! Smakelijk eten!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -480,27 +357,27 @@ msgstr ""
"Kerel, je kernel stinkt! De aanbeveling van de chef is vandaag Linux met "
"aangezette high-resolution timers!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() mislukte."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Initialiseren van de daemon mislukte."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Daemon opgestart zonder geladen modules, dat werkt niet."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Daemon opstarten is klaar."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Daemon afsluiten is begonnen."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Daemon is afgesloten."
@@ -843,14 +720,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr ""
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr ""
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr ""
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr ""
@@ -859,24 +732,6 @@ msgstr ""
msgid "Start the PulseAudio Sound System"
msgstr ""
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1249,184 +1104,184 @@ msgstr ""
msgid "Failed to open configuration file '%s': %s"
msgstr ""
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr ""
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr ""
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
+msgstr "Kon gebruiker '%s' niet vinden."
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+msgid "Playback stream drained."
msgstr ""
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+msgid "Draining connection to server."
msgstr ""
-#: ../src/utils/pacat.c:135
+#: ../src/utils/pacat.c:136
#, c-format
-msgid "pa_stream_drain(): %s\n"
+msgid "pa_stream_drain(): %s"
msgstr ""
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
+msgstr "read() mislukte: %s"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_core_new() mislukte."
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
-msgstr ""
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
+msgstr "read() mislukte: %s"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:307
+msgid "Stream successfully created."
msgstr ""
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-msgstr ""
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
+msgstr "pa_core_new() mislukte."
-#: ../src/utils/pacat.c:312
+#: ../src/utils/pacat.c:314
#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr ""
-#: ../src/utils/pacat.c:316
+#: ../src/utils/pacat.c:317
#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr ""
-#: ../src/utils/pacat.c:320
+#: ../src/utils/pacat.c:321
#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+msgid "Using sample spec '%s', channel map '%s'."
msgstr ""
-#: ../src/utils/pacat.c:330
+#: ../src/utils/pacat.c:325
#, c-format
-msgid "Stream error: %s\n"
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr ""
-#: ../src/utils/pacat.c:340
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
+msgstr "Interne fout"
+
+#: ../src/utils/pacat.c:345
#, c-format
-msgid "Stream device suspended.%s \n"
+msgid "Stream device suspended.%s"
msgstr ""
-#: ../src/utils/pacat.c:342
+#: ../src/utils/pacat.c:347
#, c-format
-msgid "Stream device resumed.%s \n"
+msgid "Stream device resumed.%s"
msgstr ""
-#: ../src/utils/pacat.c:350
+#: ../src/utils/pacat.c:355
#, c-format
-msgid "Stream underrun.%s \n"
+msgid "Stream underrun.%s"
msgstr ""
-#: ../src/utils/pacat.c:357
+#: ../src/utils/pacat.c:362
#, c-format
-msgid "Stream overrun.%s \n"
+msgid "Stream overrun.%s"
msgstr ""
-#: ../src/utils/pacat.c:364
+#: ../src/utils/pacat.c:369
#, c-format
-msgid "Stream started.%s \n"
+msgid "Stream started.%s"
msgstr ""
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr ""
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr ""
-#: ../src/utils/pacat.c:378
+#: ../src/utils/pacat.c:383
#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+msgid "Stream buffer attributes changed.%s"
msgstr ""
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
-msgstr ""
-
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
+msgstr "Verbinding geweigert"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
+msgstr "pa_core_new() mislukte."
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
+msgstr "pa_core_new() mislukte."
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
+msgstr "pa_core_new() mislukte."
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr ""
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
+msgstr "Verbinding geweigert"
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr ""
-
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+msgid "Got EOF."
msgstr ""
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
-msgstr ""
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
+msgstr "read() mislukte: %s"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
+msgstr "Ontving signaal %s."
#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
+msgstr "Aanmaken van '%s': %s mislukte"
+
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr ""
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
+msgstr "pa_core_new() mislukte."
#: ../src/utils/pacat.c:605
#, c-format
@@ -1496,34 +1351,34 @@ msgid ""
"Linked with libpulse %s\n"
msgstr ""
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "Ongeldige resample methode '%s'."
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "Ongeldige resample methode '%s'."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
+msgstr "Ongeldige resample methode '%s'."
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
+msgstr "Ongeldige resample methode '%s'."
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
+msgstr "Ongeldige resample methode '%s'."
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "Ongeldige resample methode '%s'."
#: ../src/utils/pacat.c:878
@@ -1532,58 +1387,59 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
-msgstr ""
+#, fuzzy
+msgid "Invalid sample specification"
+msgstr "Ongeldige resample methode '%s'."
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "open(): %s"
+msgstr "fork(): %s"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "dup2(): %s"
+msgstr "waitpid(): %s"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+msgid "Too many arguments."
msgstr ""
#: ../src/utils/pacat.c:930
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr ""
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Analyseren van de commandoregel mislukte."
#: ../src/utils/pacat.c:956
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
+"specification from file."
msgstr ""
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
-msgid "Failed to determine sample specification from file.\n"
+#: ../src/utils/pacat.c:959
+msgid "Failed to determine sample specification from file."
msgstr ""
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
+msgid "Warning: Failed to determine channel map from file."
msgstr ""
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+msgid "Channel map doesn't match sample specification"
msgstr ""
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
+msgid "Warning: failed to write channel map to file."
msgstr ""
#: ../src/utils/pacat.c:1005
#, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr ""
#: ../src/utils/pacat.c:1006
@@ -1594,36 +1450,35 @@ msgstr ""
msgid "playback"
msgstr ""
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
-msgstr ""
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
+msgstr "pa_core_new() mislukte."
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
-msgstr ""
+#, fuzzy
+msgid "io_new() failed."
+msgstr "pa_core_new() mislukte."
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
+msgstr "pa_core_new() mislukte."
+
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
#, c-format
-msgid "pa_context_new() failed.\n"
+msgid "pa_context_connect() failed: %s"
msgstr ""
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
msgstr "pa_core_new() mislukte."
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr ""
-
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
-msgstr ""
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
+msgstr "pa_core_new() mislukte."
#: ../src/utils/pasuspender.c:81
#, c-format
@@ -1650,6 +1505,11 @@ msgstr ""
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr ""
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr ""
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1680,6 +1540,21 @@ msgid ""
"Linked with libpulse %s\n"
msgstr ""
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr ""
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr ""
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr ""
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1969,6 +1844,11 @@ msgid ""
"Linked with libpulse %s\n"
msgstr ""
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Ongeldige resample methode '%s'."
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr ""
@@ -1977,6 +1857,10 @@ msgstr ""
msgid "Failed to open sound file.\n"
msgstr ""
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr ""
+
#: ../src/utils/pactl.c:951
msgid "Warning: Failed to determine sample specification from file.\n"
msgstr ""
@@ -2033,11 +1917,6 @@ msgstr ""
msgid "No valid command specified.\n"
msgstr ""
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr ""
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2147,11 +2026,11 @@ msgstr ""
msgid "write(): %s"
msgstr ""
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr ""
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2162,7 +2041,7 @@ msgid ""
"returned 0 or another value < min_avail."
msgstr ""
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2174,15 +2053,15 @@ msgid ""
msgstr ""
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr ""
@@ -2190,6 +2069,103 @@ msgstr ""
msgid "PulseAudio Sound Server"
msgstr ""
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Kan niet verbinden met systeem bus: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Kan geen bezoeker krijgen van PID: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Kan UID niet instellen op caller object."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Kon geen CK sessie krijgen."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Kan UID niet instellen op sessie object."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Kan PolKitAction niet toekennen."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Kan action_id niet instellen"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Kan PolKitContext niet toekennen."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Kan PolKitContext niet intialiseren: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Kon niet bepalen of bezoeker gemachtigd is: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Kan geen authorisatie krijgen: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit antwoordde met '%s'"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Wij zijn in de groep '%s', wat plannen met hoge prioriteit toestaat."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "Wij zijn in de groep '%s', war real-time planning toestaat."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit kent ons acquire-high-priority rechten toe."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit weigert ons acquire-high-priority rechten."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit kent ons acquire-real-time rechten toe."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit weigert ons acquire-real-time rechten."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Aangeroepen met SUID root en real-time en/of high-priority inplannen was "
+#~ "verzocht in de configuratie. Echter de nodige rechten ontbreken:\n"
+#~ "We zijn niet in groep '%s', PolicyKit weigert om ons de gevraagde rechten "
+#~ "te geven en we hebben geen rect om de RLIMIT_NICE/RLIMIT_RTPRIO limieten "
+#~ "te verhogen.\n"
+#~ "Voor het aanzetten van real-time/high-priority inplannen mort je juiste "
+#~ "PolicyKit privileges hebben, of lid van '%s\" worden, of de RLIMIT_NICE/"
+#~ "RLIMIT_RTPRIO limieten voor deze gebruiker verhogen."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "Hoge prioriteit inplannen is aangezet in de configuratie maar niet "
+#~ "toegestaan door de richtlijnen."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO met succes verhoogd"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO mislukte: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Opgeven CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "Real-time inplannen is aangezet in de configuratie maar niet toegestaan "
+#~ "door de richtlijnen."
+
#~ msgid "Analog Mono"
#~ msgstr "Analoog mono"
diff --git a/po/or.po b/po/or.po
index 1fcf836e..b6a20671 100644
--- a/po/or.po
+++ b/po/or.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-09 13:16+0530\n"
"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
"Language-Team: Oriya <oriya-it@googlegroups.com>\n"
@@ -23,7 +23,12 @@ msgstr ""
"\n"
"\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -36,7 +41,7 @@ msgstr ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -49,7 +54,7 @@ msgstr ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -75,7 +80,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "ଆଭà­à­Ÿà¬¨à­à¬¤à¬°à­€à¬£ ଧà­à­±à¬¨à¬¿"
@@ -95,216 +100,92 @@ msgstr "ନୂତନ dl ଧାରକକୠବଣà­à¬Ÿà¬¨ କରିବାରେ
msgid "Failed to add bind-now-loader."
msgstr "bind-now-loaderକୠଯୋଗ କରିବାରେ ବିଫଳ।"
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "ତନà­à¬¤à­à¬° ପରିପଥ ସହିତ ସଂଯୋଗ କରିପାରିବେ ନାହିà¬: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PIDରୠକଲରକୠପାଇପାରିବେ ନାହିà¬: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "କଲର ବସà­à¬¤à­à¬°à­‡ UID କୠସେଟ କରିପାରିବେ ନାହିà¬à¥¤"
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK ଅଧିବେଶନକୠପାଇବାରେ ବିଫଳ।"
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "ଅଧିବେଶନ ବସà­à¬¤à­à¬°à­‡ UID ସେଟ କରିପାରିବେ ନାହିà¬à¥¤"
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitActionକୠବଣà­à¬Ÿà¬¨ କରିପାରିବେ ନାହିà¬à¥¤"
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id ସେଟ କରିପାରିବେ ନାହିà¬"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext ବଣà­à¬Ÿà¬¨ କରିପାରିବେ ନାହିà¬à¥¤"
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContextକୠଆରମà­à¬­ କରିପାରିବେ ନାହିà¬: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "କଲର ଅଧିକାର ପà­à¬°à¬¾à¬ªà­à¬¤ କି ନà­à¬¹à¬ ତାହା ନିରà­à¬¦à­à¬§à¬¾à¬°à¬£ କରି ପାରିଲା ନାହିà¬: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "auth ପାଇଲା ନାହିà¬: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit '%s' ସହିତ ଉତà­à¬¤à¬° ଦେଇଥିଲା"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "ସଂକେତ %s ପାଇଲା।"
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "ଉତà­à¬¤à­‡à¬œà¬¿à¬¤ କରà­à¬…ଛି।"
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "ଚାଳକ '%s' କୠଖୋଜିବାରେ ବିଫଳ।"
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "ସମୂହ '%s' କୠଖୋଜି ପାଇବାରେ ବିଫଳ।"
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "ଚାଳକ '%s' (UID %lu) à¬à¬¬à¬‚ ସମୂହ '%s' (GID %lu) ମିଳିଲା।"
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "ଚାଳକ '%s' à¬à¬¬à¬‚ ସମୂହ '%s' ର GID ମେଳଖାà¬à¬¨à¬¾à¬¹à¬¿à¬à¥¤"
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "ଚାଳକ '%s' ର ମୂଖà­à­Ÿ ଡିରେକà­à¬Ÿà­‹à¬°à­€à¬Ÿà¬¿ '%s' ନà­à¬¹à¬, ଅଗà­à¬°à¬¾à¬¹à­à­Ÿ କରà­à¬…ଛି।"
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' ନିରà­à¬®à¬¾à¬£ କରିବାରେ ବିଫଳ: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "ସମୂହ ତାଲିକାକୠପରିବରà­à¬¤à­à¬¤à¬¨ କରିବାରେ ବିଫଳ: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID କୠପରିବରà­à¬¤à­à¬¤à¬¨ କରିବାରେ ବିଫଳ ହୋଇଛି: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID କୠପରିବରà­à¬¤à­à¬¤à¬¨ କରିବାରେ ବିଫଳ ହୋଇଛି: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "ମୂଖà­à­Ÿ ଚାଳକ ଅଧିକାରକୠସଫଳତାର ସହିତ ପକାଯାଇଛି।"
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "ତନà­à¬¤à­à¬°à¬®à­Ÿ ଧାରା à¬à¬¹à¬¿ ପà­à¬²à¬¾à¬Ÿà¬«à¬°à­à¬®à¬°à­‡ ଅସମରà­à¬¥à¬¿à¬¤à¥¤"
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) ବିଫଳ ହୋଇଛି: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "ପାଠà­à­Ÿ ନିରà­à¬¦à­à¬¦à­‡à¬¶à¬•à­ ବିଶà­à¬³à­‡à¬·à¬£ କରିବାରେ ବିଫଳ।"
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "ଆମେ ମାନେ ଶà­à¬°à­‡à¬£à­€ '%s'ରେ ଅଛà­, ଉଚà­à¬š-ପà­à¬°à¬¾à¬¥à¬®à¬¿à¬•à¬¤à¬¾ ଯୋଜନାକୠଅନà­à¬®à¬¤à¬¿ ଦେଇ।"
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "ଆମେ ମାନେ ଶà­à¬°à­‡à¬£à­€ '%s'ରେ ଅଛà­, ପà­à¬°à¬•à­ƒà¬¤- ସମୟ ଯୋଜନାକୠଅନà­à¬®à¬¤à¬¿ ଦେଇ।"
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit ଆମକୠacquire-high-priority ଅଧିକାର ଦେଇଥାà¬à¥¤"
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit acquire-high-priority ଅଧିକାରକୠବାରଣ କରିଥାà¬à¥¤"
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit ଆମକୠacquire-real-time ଅଧିକାର ଦେଇଥାà¬à¥¤"
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit acquire-real-time ଅଧିକାରକୠବାରଣ କରିଥାà¬à¥¤"
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr "ଉଚà­à¬š-ପà­à¬°à¬¾à¬¥à¬®à¬¿à¬• ଯୋଜନା ବିନà­à­Ÿà¬¾à¬¸à¬°à­‡ ସକà­à¬°à¬¿à­Ÿ କିନà­à¬¤à­ ନୀତି ଦà­à­±à¬¾à¬°à¬¾ ଅନà­à¬®à­‹à¬¦à¬¿à¬¤ ନà­à¬¹à¬à¥¤"
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO କୠସଫଳତାର ସହିତ ବୃଦà­à¬§à¬¿à¬•à¬°à¬¿à¬¥à¬¾à¬"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO ବିଫଳ ହୋଇଛି: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE କୠତà­à­Ÿà¬¾à¬— କରିଥାà¬"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "Real-time ଯୋଜନା ବିନà­à­Ÿà¬¾à¬¸ ଫାଇଲରେ ସକà­à¬°à¬¿à­Ÿ ହୋଇଥାଠକିନà­à¬¤à­ ନିତୀ ଦà­à­±à¬¾à¬°à¬¾ ଅନà­à¬®à­‹à¬¦à¬¿à¬¤ ନà­à¬¹à¬à¥¤"
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "ଡେମନ ଚାଲà­à¬¨à¬¾à¬¹à¬¿à¬"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "ଡେମନ PID %u ପରି ଚାଲà­à¬…ଛି"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "ଡେମନକୠବନà­à¬¦ କରିବାରେ ବିଫଳ: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -312,150 +193,150 @@ msgstr ""
"à¬à¬¹à¬¿ ପà­à¬°à¬—à­à¬°à¬¾à¬®à¬Ÿà¬¿ ମୂଖà­à­Ÿ ଚାଳକ ଭାବରେ ଚଲାଇବା ପାଇଠନିରà­à¬¦à­à¬¦à¬¿à¬·à­à¬Ÿ ହୋଇନାହିଠ(unless --system is "
"specified)।"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "ମୂଖà­à­Ÿ ଚାଳକ ଅଧିକାର ଆବଶà­à­Ÿà¬•à¥¤"
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start ତନà­à¬¤à­à¬° ସà­à¬¥à¬¿à¬¤à¬¿ ପାଇଠସମରà­à¬¥à¬¿à¬¤ ନà­à¬¹à¬à¥¤"
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "ତନà­à¬¤à­à¬° ଧାରାରେ ଚାଲà­à¬…ଛି, କିନà­à¬¤à­ --disallow-exit କୠସେଟ କରାଯାଇନାହିà¬!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "ତନà­à¬¤à­à¬° ଧାରାରେ ଚାଲà­à¬…ଛି, କିନà­à¬¤à­ --disallow-module-loading କୠସେଟ କରାଯାଇନାହିà¬!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "ତନà­à¬¤à­à¬° ଧାରାରେ ଚାଲà­à¬…ଛି, SHM ଧାରାକୠବାଧà­à¬¯à¬¤à¬¾à¬®à­à¬³à¬• ଭାବରେ ନିଷà­à¬•à­à¬°à¬¿à­Ÿ କରିଥାà¬!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "ତନà­à¬¤à­à¬° ଧାରାରେ ଚାଲà­à¬…ଛି, ପà­à¬°à¬¸à­à¬¥à¬¾à¬¨ ସà­à¬¥à¬¿à¬° ସମୟକୠବାଧà­à¬¯à¬¤à¬¾à¬®à­à¬³à¬• ଭାବରେ ନିଷà­à¬•à­à¬°à¬¿à­Ÿ କରିଥାà¬!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio କୠଅଧିକାର କରିବାରେ ବିଫଳ।"
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "ପାଇପ ବିଫଳ ହୋଇଛି: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() ବିଫଳ ହୋଇଛି: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() ବିଫଳ ହୋଇଛି: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "ଡେମନ ଆରମà­à¬­ ବିଫଳ ହୋଇଛି।"
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "ଡେମନ ଆରମà­à¬­ ସଫଳ ହୋଇଛି।"
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "à¬à¬¹à¬¾ ହେଉଛି PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "ସଂକଳନ ଆଧାର: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "ସଂକଳନ CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "ଆଧାରରେ ଚାଲà­à¬…ଛି: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPUs ମିଳିଛି।"
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "ପୃଷà­à¬ à¬¾ ଆକାରଟି ହେଉଛି %lu ବାଇଟ"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Valgrind ସମରà­à¬¥à¬¨ ସହିତ ସଂକଳନ ହୋଇଛି: yes"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Valgrind ସମରà­à¬¥à¬¨ ସହିତ ସଂକଳନ ହୋଇଛି: no"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "valgrind ଧାରାରେ ଚାଲà­à¬…ଛି: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "ଉପଯà­à¬•à­à¬¤ ନିରà­à¬®à¬¾à¬£: yes"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "ଉପଯà­à¬•à­à¬¤ ନିରà­à¬®à¬¾à¬£: no"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG କୠବà­à­Ÿà¬¾à¬–à­à­Ÿà¬¾ କରାଯାଇଛି, ସମସà­à¬¤ ନିଶà­à¬šà­Ÿà¬•à­ ନିଷà­à¬•à­à¬°à¬¿à­Ÿ କରାଯାଇଛି।"
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH କୠବà­à­Ÿà¬¾à¬–à­à­Ÿà¬¾ କରାଯାଇଛି, କେବଳ ତୀବà­à¬° ପଥ ନିଶà­à¬šà­Ÿà¬•à­ ନିଷà­à¬•à­à¬°à¬¿à­Ÿ କରାଯାଇଛି।"
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "ସମସà­à¬¤ ନିଶà­à¬šà­Ÿà¬•à­ ସକà­à¬°à¬¿à­Ÿ କରାଯାଇଛି।"
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "ଯନà­à¬¤à­à¬° ID ପାଇବାରେ ବିଫଳ"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "ଯନà­à¬¤à­à¬° ID ଟି ହେଉଛି %s।"
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "ଯନà­à¬¤à­à¬° ID ଟି ହେଉଛି %s।"
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "ପà­à¬°à¬šà¬³à¬¿à¬¤ ଡିରେକà­à¬Ÿà­‹à¬°à­€ %s କୠବà­à­Ÿà¬¬à¬¹à¬¾à¬° କରà­à¬…ଛି।"
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "ସà­à¬¥à¬¿à¬¤à¬¿ ଡିରେକà­à¬Ÿà­‹à¬°à­€ %s କୠବà­à­Ÿà¬¬à¬¹à¬¾à¬° କରି।"
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "ତନà­à¬¤à­à¬° ଧାରାରେ ଚାଲà­à¬…ଛି: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -465,15 +346,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() ବିଫଳ ହୋଇଛି।"
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "ସତେଜ ଉଚà­à¬š-ବିଭେଦନ ସମୟ ମାପକ ଉପଲବà­à¬§! Bon appetit!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -481,27 +362,27 @@ msgstr ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() ବିଫଳ ହୋଇଛି।"
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "ଡେମନକୠଆରମà­à¬­ କରିବାରେ ବିଫଳ।"
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "ଧାରଣ ହୋଇଥିବା à¬à¬•à¬•à¬¾à¬‚ଶଗà­à¬¡à¬¼à¬¿à¬• ବିନା ଡେମନ ଆରମà­à¬­ ହୋଇଛି, କାରà­à¬¯à­à­Ÿ କରିବାକୠବାରଣ କରà­à¬…ଛି।"
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "ଡେମନ ଆରମà­à¬­ ସମà­à¬ªà­‚ରà­à¬£à­à¬£ ହୋଇଛି।"
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "ଡେମନ ବନà­à¬¦à¬•à­ ଆରମà­à¬­ କରାଯାଇଛି।"
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "ଡେମନକୠସମାପà­à¬¤ କରାଯାଇଛି।"
@@ -835,14 +716,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### ବିନà­à­Ÿà¬¾à¬¸ ଫାଇଲରୠପଢ଼ନà­à¬¤à­: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "ମୂଖà­à­Ÿ ଚାଳକ ଅଧିକାରଗà­à¬¡à¬¼à¬¿à¬•à­ ବାତିଲ କରà­à¬…ଛି।"
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "CAP_SYS_NICE କୠସୀମିତ କà­à¬·à¬®à¬¤à¬¾ ସଫଳତାର ସହିତ ଦିଆହୋଇଛି।"
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio ଧà­à­±à¬¨à¬¿ ତନà­à¬¤à­à¬°"
@@ -851,24 +728,6 @@ msgstr "PulseAudio ଧà­à­±à¬¨à¬¿ ତନà­à¬¤à­à¬°"
msgid "Start the PulseAudio Sound System"
msgstr "PulseAudio ଧà­à­±à¬¨à¬¿ ତନà­à¬¤à­à¬°à¬•à­ ଆରମà­à¬­ କରନà­à¬¤à­"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "PulseAudio ଡେମନ ପାଇଠଉଚà­à¬š-ପà­à¬°à¬¾à¬¥à¬®à¬¿à¬•à¬¤à¬¾ ଯୋଜନା (ଋଣାତà­à¬®à¬• Unix ସà­à¬¨à­à¬¦à¬° ସà­à¬¤à¬°)"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio ଡେମନ ପାଇଠପà­à¬°à¬•à­ƒà¬¤-ସମୟ ଯୋଜନା"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "ତନà­à¬¤à­à¬° ନୀତି PulseAudio କୠଉଚà­à¬š-ପà­à¬°à¬¾à¬¥à¬®à¬¿à¬• ଯୋଜନାକୠଗà­à¬°à¬¹à¬£ କରିବାରୠଅଟକାଇଥାà¬à¥¤"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "ତନà­à¬¤à­à¬° ନୀତି PulseAudio କୠପà­à¬°à¬•à­ƒà¬¤-ସମୟ ଯୋଜନାକୠଗà­à¬°à¬¹à¬£ କରିବାରୠଅଟକାଇଥାà¬à¥¤"
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "ମୋନୋ"
@@ -1241,183 +1100,187 @@ msgstr "କà­à¬•à¬¿ ତଥà­à­Ÿà¬•à­ ବିଶà­à¬³à­‡à¬·à¬£ କରିବା
msgid "Failed to open configuration file '%s': %s"
msgstr "ବିନà­à­Ÿà¬¾à¬¸ ଫାଇଲ '%s' କୠଖୋଲିବାରେ ବିଫଳ: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "କୌଣସି କà­à¬•à¬¿ ଧାରଣ କରାଯାଇନାହିà¬à¥¤ ତାହା ବିନା ସଂଯୋଗ କରିବାକୠପà­à¬°à¬šà­‡à¬·à­à¬šà¬¾ କରà­à¬…ଛି।"
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "ଅଜଣା ଅନà­à¬²à¬—à­à¬¨ '%s' ପାଇଠସନà­à¬¦à­‡à¬¶ ଗà­à¬°à¬¹à¬£ କରିଅଛି"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "ଧାରାକୠବାହାର କରିବାରେ ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "ପଛଚଲା ଧାରାକୠବାହାର କରାଯାଇଛି।\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "ସରà­à¬­à¬° ପà­à¬°à¬¤à¬¿ ଡà­à¬°à­‡à¬¨à¬¿à¬™à­à¬— ସଂଯୋଗ।\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() ବିଫଳ ହୋଇଛି: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "ଧାରା ସଫଳତାର ସହିତ ନିରà­à¬®à¬¾à¬£ ହୋଇଛି।\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "ବଫର ମେଟà­à¬°à¬¿à¬•à¬¸: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "ବଫର ମେଟà­à¬°à¬¿à¬•à¬¸: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "ନମà­à¬¨à¬¾ spec '%s' ବà­à­Ÿà¬¬à¬¹à¬¾à¬° କରି, ଚà­à­Ÿà¬¾à¬¨à­‡à¬² ମà­à­Ÿà¬¾à¬ª '%s'।\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "ଉପକରଣ %s ସହିତ ସଂଯà­à¬•à­à¬¤ ହୋଇଛି (%u, %ssuspended)।\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "ଧାରା ତà­à¬°à­à¬Ÿà¬¿: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "ଧାରା ଉପକରଣ ନିଲମà­à¬¬à¬¿à¬¤ ହୋଇଛି।%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "ଧାରା ଉପକରଣ ପà­à¬¨à¬ƒ ଚଳନ ହୋଇଛି।%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "ଧାରା underrun.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "ଧାରା overrun.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "ଧାରା ଆରମà­à¬­ ହୋଇଛି।%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "ଧାରା ଉପକରଣ %sକୠଗତି କରିଛି (%u, %ssuspended).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "not "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "ଧାରା ବଫର ଗà­à¬£à¬—à­à¬¡à¬¼à¬¿à¬• ପରିବରà­à¬¤à­à¬¤à¬¨ ହୋଇଛି।%s\n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "ସଂଯୋଗ ସà­à¬¥à¬¾à¬ªà¬¿à¬¤ ହୋଇଛି।%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "ସଂଯୋଗ ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF ପାଇଅଛି।\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() ବିଫଳ ହୋଇଛି: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF ପାଇଅଛି।\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() ବିଫଳ ହୋଇଛି: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "ସଂକେତ ପାଇଲା, ପà­à¬°à¬¸à­à¬¥à¬¾à¬¨ କରà­à¬…ଛି।\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "ବିଳମà­à¬¬à¬¤à¬¾ ପାଇବାରେ ବିଫଳ: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "ସମୟ: %0.3f sec; ବିଳମà­à¬¬à¬¤à¬¾: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() ବିଫଳ ହୋଇଛି: %s\n"
#: ../src/utils/pacat.c:605
@@ -1536,34 +1399,34 @@ msgstr ""
"libpulse %s ସହିତ ସଂକଳିତ\n"
"libpulse %s ସହିତ ସଂଯà­à¬•à­à¬¤\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "ଅବୈଧ ଚà­à­Ÿà¬¾à¬¨à­‡à¬² ମà­à­Ÿà¬¾à¬ª '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "ଅବୈଧ ପà­à¬¨à¬ƒ ପà­à¬°à¬¤à¬¿à¬¦à¬°à­à¬¶à¬¨ ଧାରା '%s'।"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "ଅବୈଧ ଚà­à­Ÿà¬¾à¬¨à­‡à¬² ମà­à­Ÿà¬¾à¬ª '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "ଅବୈଧ ବିଳମà­à¬¬à¬¤à¬¾ ବିଶେଷ ଲକà­à¬·à¬£ '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "ଅବୈଧ ପଦà­à¬§à¬¤à¬¿ ସମୟ ବିଶେଷ ଲକà­à¬·à¬£ '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "ଅବୈଧ ପà­à¬¨à¬ƒ ପà­à¬°à¬¤à¬¿à¬¦à¬°à­à¬¶à¬¨ ଧାରା '%s'।"
#: ../src/utils/pacat.c:878
@@ -1572,60 +1435,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "ଅବୈଧ ନମà­à¬¨à¬¾ ବିଶେଷ ଲକà­à¬·à¬£\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "ଅତà­à­Ÿà¬§à¬¿à¬• ସà­à­±à¬¤à¬¨à­à¬¤à­à¬°à¬šà¬°à¥¤\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "ନମà­à¬¨à¬¾ ସୂଚନା ପାଇବାରେ ବିଫଳ: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "ଧà­à­±à¬¨à¬¿ ଫାଇଲ ଖୋଲିବାରେ ବିଫଳ।\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "ନମà­à¬¨à¬¾ ବିଶେଷ ଲକà­à¬·à¬£ '%s' ସହିତ ଗୋଟିଠ%s ଧାରାକୠଖୋଲà­à¬…ଛି।\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "ନମà­à¬¨à¬¾ ସୂଚନା ପାଇବାରେ ବିଫଳ: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "ନମà­à¬¨à¬¾ ବିଶେଷ ଲକà­à¬·à¬£ '%s' ସହିତ ଗୋଟିଠ%s ଧାରାକୠଖୋଲà­à¬…ଛି।\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "ନମà­à¬¨à¬¾ ବିଶେଷ ଲକà­à¬·à¬£ ସହିତ ଚà­à­Ÿà¬¾à¬¨à­‡à¬² ମà­à­Ÿà¬¾à¬ª ମେଳ ଖାଉନାହିà¬\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "ନମà­à¬¨à¬¾ ବିଶେଷ ଲକà­à¬·à¬£ '%s' ସହିତ ଗୋଟିଠ%s ଧାରାକୠଖୋଲà­à¬…ଛି।\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "ନମà­à¬¨à¬¾ ବିଶେଷ ଲକà­à¬·à¬£ '%s' ସହିତ ଗୋଟିଠ%s ଧାରାକୠଖୋଲà­à¬…ଛି।\n"
#: ../src/utils/pacat.c:1006
@@ -1636,35 +1505,34 @@ msgstr "ଅନà­à¬²à¬¿à¬ªà¬¿ କରà­à¬…ଛି"
msgid "playback"
msgstr "ପଛଚଲା"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() ବିଫଳ ହୋଇଛି।\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() ବିଫଳ ହୋଇଛି।\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() ବିଫଳ ହୋଇଛି।\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() ବିଫଳ ହୋଇଛି: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() ବିଫଳ ହୋଇଛି।\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() ବିଫଳ ହୋଇଛି।\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() ବିଫଳ ହୋଇଛି।\n"
#: ../src/utils/pasuspender.c:81
@@ -1692,6 +1560,11 @@ msgstr "ପà­à¬¨à¬ƒ ଚଳନ କରିବାରେ ବିଫଳ: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "WARNING: ଧà­à­±à¬¨à¬¿ ସରà­à¬­à¬°à¬Ÿà¬¿ ସà­à¬¥à¬¾à¬¨à­€à­Ÿ ନà­à¬¹à¬, ନିଲମà­à¬¬à¬¿à¬¤ କରà­à¬¨à¬¾à¬¹à¬¿à¬à¥¤\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "ସଂଯୋଗ ବିଫଳ ହୋଇଛି: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1731,6 +1604,21 @@ msgstr ""
"libpulse %s ସହିତ ସଂକଳିତ\n"
"libpulse %s ସହିତ ସଂଯà­à¬•à­à¬¤\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() ବିଫଳ ହୋଇଛି।\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() ବିଫଳ ହୋଇଛି।\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() ବିଫଳ ହୋଇଛି।\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2145,6 +2033,11 @@ msgstr ""
"libpulse %s ସହିତ ସଂକଳିତ\n"
"libpulse %s ସହିତ ସଂଯà­à¬•à­à¬¤\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "ଅବୈଧ ଚà­à­Ÿà¬¾à¬¨à­‡à¬² ମà­à­Ÿà¬¾à¬ª '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "ଧାରଣ କରିବା ପାଇଠଗୋଟିଠନà­à¬®à¬¨à¬¾ ଫାଇଲ ଉଲà­à¬²à­‡à¬– କରନà­à¬¤à­\n"
@@ -2153,6 +2046,11 @@ msgstr "ଧାରଣ କରିବା ପାଇଠଗୋଟିଠନà­à¬®à¬¨à¬
msgid "Failed to open sound file.\n"
msgstr "ଧà­à­±à¬¨à¬¿ ଫାଇଲ ଖୋଲିବାରେ ବିଫଳ।\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "ନମà­à¬¨à¬¾ ସୂଚନା ପାଇବାରେ ବିଫଳ: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2216,11 +2114,6 @@ msgstr "ଆପଣଙà­à¬•à­ ଗୋଟିଠକାରà­à¬¡ ନାମ/ଅନà­
msgid "No valid command specified.\n"
msgstr "କୌଣସି ବୈଧ ନିରà­à¬¦à­à¬¦à­‡à¬¶ ଉଲà­à¬²à­‡à¬– କରାଯାଇନାହିà¬à¥¤\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() ବିଫଳ ହୋଇଛି: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2336,11 +2229,11 @@ msgstr "ପଢ଼ନà­à¬¤à­(): %s"
msgid "write(): %s"
msgstr "ଲେଖନà­à¬¤à­(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "autospawn ଅପରିବରà­à¬¤à­à¬¤à¬¨à­€à­Ÿà¬¤à¬¾à¬•à­ ଅଭିଗମà­à­Ÿ କରିହେଉ ନାହିà¬"
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2357,7 +2250,7 @@ msgstr ""
"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
"returned 0 or another value < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2375,15 +2268,15 @@ msgstr ""
"returned 0 or another value < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "ଅଫ"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "ଉଚà­à¬š ଫିଡିଲିଟି ପଛଚଲା (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "ଟେଲିଫୋନି ଡà­à­Ÿà­à¬ªà­à¬²à­‡à¬•à­à¬¸ (HSP/HFP)"
@@ -2391,6 +2284,128 @@ msgstr "ଟେଲିଫୋନି ଡà­à­Ÿà­à¬ªà­à¬²à­‡à¬•à­à¬¸ (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio ଧà­à­±à¬¨à¬¿ ସରà­à¬­à¬°"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "ତନà­à¬¤à­à¬° ପରିପଥ ସହିତ ସଂଯୋଗ କରିପାରିବେ ନାହିà¬: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PIDରୠକଲରକୠପାଇପାରିବେ ନାହିà¬: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "କଲର ବସà­à¬¤à­à¬°à­‡ UID କୠସେଟ କରିପାରିବେ ନାହିà¬à¥¤"
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK ଅଧିବେଶନକୠପାଇବାରେ ବିଫଳ।"
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "ଅଧିବେଶନ ବସà­à¬¤à­à¬°à­‡ UID ସେଟ କରିପାରିବେ ନାହିà¬à¥¤"
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitActionକୠବଣà­à¬Ÿà¬¨ କରିପାରିବେ ନାହିà¬à¥¤"
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id ସେଟ କରିପାରିବେ ନାହିà¬"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext ବଣà­à¬Ÿà¬¨ କରିପାରିବେ ନାହିà¬à¥¤"
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContextକୠଆରମà­à¬­ କରିପାରିବେ ନାହିà¬: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "କଲର ଅଧିକାର ପà­à¬°à¬¾à¬ªà­à¬¤ କି ନà­à¬¹à¬ ତାହା ନିରà­à¬¦à­à¬§à¬¾à¬°à¬£ କରି ପାରିଲା ନାହିà¬: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "auth ପାଇଲା ନାହିà¬: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit '%s' ସହିତ ଉତà­à¬¤à¬° ଦେଇଥିଲା"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr "PulseAudio ଡେମନ ପାଇଠଉଚà­à¬š-ପà­à¬°à¬¾à¬¥à¬®à¬¿à¬•à¬¤à¬¾ ଯୋଜନା (ଋଣାତà­à¬®à¬• Unix ସà­à¬¨à­à¬¦à¬° ସà­à¬¤à¬°)"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio ଡେମନ ପାଇଠପà­à¬°à¬•à­ƒà¬¤-ସମୟ ଯୋଜନା"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr "ତନà­à¬¤à­à¬° ନୀତି PulseAudio କୠଉଚà­à¬š-ପà­à¬°à¬¾à¬¥à¬®à¬¿à¬• ଯୋଜନାକୠଗà­à¬°à¬¹à¬£ କରିବାରୠଅଟକାଇଥାà¬à¥¤"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr "ତନà­à¬¤à­à¬° ନୀତି PulseAudio କୠପà­à¬°à¬•à­ƒà¬¤-ସମୟ ଯୋଜନାକୠଗà­à¬°à¬¹à¬£ କରିବାରୠଅଟକାଇଥାà¬à¥¤"
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() ବିଫଳ ହୋଇଛି: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() ବିଫଳ ହୋଇଛି: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "ଆମେ ମାନେ ଶà­à¬°à­‡à¬£à­€ '%s'ରେ ଅଛà­, ଉଚà­à¬š-ପà­à¬°à¬¾à¬¥à¬®à¬¿à¬•à¬¤à¬¾ ଯୋଜନାକୠଅନà­à¬®à¬¤à¬¿ ଦେଇ।"
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "ଆମେ ମାନେ ଶà­à¬°à­‡à¬£à­€ '%s'ରେ ଅଛà­, ପà­à¬°à¬•à­ƒà¬¤- ସମୟ ଯୋଜନାକୠଅନà­à¬®à¬¤à¬¿ ଦେଇ।"
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit ଆମକୠacquire-high-priority ଅଧିକାର ଦେଇଥାà¬à¥¤"
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit acquire-high-priority ଅଧିକାରକୠବାରଣ କରିଥାà¬à¥¤"
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit ଆମକୠacquire-real-time ଅଧିକାର ଦେଇଥାà¬à¥¤"
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit acquire-real-time ଅଧିକାରକୠବାରଣ କରିଥାà¬à¥¤"
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr "ଉଚà­à¬š-ପà­à¬°à¬¾à¬¥à¬®à¬¿à¬• ଯୋଜନା ବିନà­à­Ÿà¬¾à¬¸à¬°à­‡ ସକà­à¬°à¬¿à­Ÿ କିନà­à¬¤à­ ନୀତି ଦà­à­±à¬¾à¬°à¬¾ ଅନà­à¬®à­‹à¬¦à¬¿à¬¤ ନà­à¬¹à¬à¥¤"
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO କୠସଫଳତାର ସହିତ ବୃଦà­à¬§à¬¿à¬•à¬°à¬¿à¬¥à¬¾à¬"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO ବିଫଳ ହୋଇଛି: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE କୠତà­à­Ÿà¬¾à¬— କରିଥାà¬"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr "Real-time ଯୋଜନା ବିନà­à­Ÿà¬¾à¬¸ ଫାଇଲରେ ସକà­à¬°à¬¿à­Ÿ ହୋଇଥାଠକିନà­à¬¤à­ ନିତୀ ଦà­à­±à¬¾à¬°à¬¾ ଅନà­à¬®à­‹à¬¦à¬¿à¬¤ ନà­à¬¹à¬à¥¤"
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "CAP_SYS_NICE କୠସୀମିତ କà­à¬·à¬®à¬¤à¬¾ ସଫଳତାର ସହିତ ଦିଆହୋଇଛି।"
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() ବିଫଳ ହୋଇଛି।\n"
+
#~ msgid "Analog Mono"
#~ msgstr "ଅନà­à¬°à­‚ପ ମୋନୋ"
diff --git a/po/pa.po b/po/pa.po
index 5f5585e0..fe5a31f5 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx.pa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-06-06 07:38+0530\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
"Language-Team: American English <punjabi-users@lists.sf.net>\n"
@@ -19,7 +19,12 @@ msgstr ""
"X-Generator: Lokalize 0.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -30,7 +35,7 @@ msgstr ""
"snd_pcm_avail() ਤੋਂ ਇੱਕ ਮà©à©±à¨² ਮਿਲਿਆ ਹੈ, ਜੋ ਬਹà©à¨¤ ਵੱਡਾ ਹੈ: %lu ਬਾਈਟ (%lu ms)।\n"
"ਇਹ ALSA ਡਰਾਈਵਰ '%s' ਵਿਚਲਾ ਬੱਗ ਲੱਗਦਾ ਹੈ। ਇਸ ਮà©à©±à¨¦à©‡ ਦੀ ALSA ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਰਿਪੋਰਟ ਦਿਓ ਜੀ।"
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -41,7 +46,7 @@ msgstr ""
"snd_pcm_delay() ਤੋਂ ਇੱਕ ਮà©à©±à¨² ਮਿਲਿਆ ਹੈ, ਜੋ ਬਹà©à¨¤ ਵੱਡਾ ਹੈ: %li ਬਾਈਟ (%s%lu ms)।\n"
"ਇਹ ALSA ਡਰਾਈਵਰ '%s' ਵਿਚਲਾ ਬੱਗ ਲੱਗਦਾ ਹੈ। ਇਸ ਮà©à©±à¨¦à©‡ ਦੀ ALSA ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਰਿਪੋਰਟ ਦਿਓ ਜੀ।"
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -65,7 +70,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "ਅੰਦਰੂਨੀ ਆਡੀਓ"
@@ -85,365 +90,241 @@ msgstr "ਨਵਾਂ dl ਲੋਡਰ ਦੇਣ ਲਈ ਫੇਲà©à¨¹à¥¤"
msgid "Failed to add bind-now-loader."
msgstr "ਬਾਈਂਡ-ਨਾਓ-ਲੋਡਰ ਜੋੜਨ ਵਿੱਚ ਫੇਲà©à¨¹ ਹੋਇਆ।"
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "ਸਿਸਟਮ ਬੱਸ ਨਾਲ ਜà©à©œà¨¨ ਨਹੀਂ ਸਕਿਆ: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID ਤੋਂ ਕਾਲਰ ਪà©à¨°à¨¾à¨ªà¨¤ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "ਕਾਲਰ à¨à¨¬à¨œà©ˆà¨•à¨Ÿ ਤੇ UID ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।"
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK ਸ਼ੈਸ਼ਨ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਫੇਲ।"
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "ਸ਼ੈਸ਼ਨ ਆਬਜੈਕਟ ਤੇ UID ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।"
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction ਨਹੀਂ ਦੇ ਸਕਿਆ।"
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext ਜਾਰੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext ਨੂੰ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "ਪਤਾ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿ ਕੀ ਕਾਲਰ ਪਰਮਾਣਿਤ ਹੈ: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "ਪਰਮਾਣਕਿਤਾ ਨਹੀਂ ਲੈ ਸਕਦਾ: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit ਦੇ ਜਵਾਬ ਵਜੋਂ '%s' ਮਿਲਿਆ ਹੈ"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "%s ਸਿਗਨਲ ਮਿਲਿਆ ਹੈ।"
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "'%s' ਯੂਜ਼ਰ ਲੱਭਣ ਵਿੱਚ ਫੇਲà©à¨¹ ਹੋਇਆ ਹੈ।"
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "'%s' ਗਰà©à©±à¨ª ਲੱਭਣ ਵਿੱਚ ਫੇਲ ਹੋਇਆ ਹੈ।"
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "ਯੂਜ਼ਰ '%s' (UID %lu) ਅਤੇ ਗਰà©à©±à¨ª '%s' (GID %lu) ਲੱਭੇ ਹਨ।"
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "ਯੂਜ਼ੂ '%s' ਅਤੇ ਗਰà©à©±à¨ª '%s' ਦਾ GID ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ।"
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "ਯੂਜ਼ੂ '%s' ਦੀ ਘਰ ਡਾਇਰੈਕਟਰੀ '%s' ਨਹੀਂ, ਅਣਡਿੱਠਾ ਕਰ ਰਿਹਾ।"
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' ਬਣਾਉਣ ਵਿੱਚ ਫੇਲà©à¨¹: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "ਗਰà©à©±à¨ª ਲਿਸਟ ਬਦਲਣ ਲਈ ਫੇਲà©à¨¹: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID ਬਦਲਣ ਲਈ ਫੇਲà©à¨¹: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID ਬਦਲਣ ਲਈ ਫੇਲà©à¨¹: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "ਰੂਟ ਅਧਿਕਾਰ ਸਫਲਤਾਪੂਰਕ ਹਟਾਠਗà¨à¥¤"
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਸਿਸਟਮ ਸੰਬੰਧੀ ਮੋਡ ਨੂੰ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ।"
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) ਫੇਲà©à¨¹ ਹੋਇਆ: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "ਕਮਾਂਡ ਲਾਈਨ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹à¥¤"
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "ਅਸੀਂ ਗਰà©à©±à¨ª '%s' ਵਿੱਚ ਹਾਂ, ਜਿਸ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਤਹਿ ਕੀਤਾ ਗਿਆ ਹੈ।"
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "ਅਸੀਂ ਗਰà©à©±à¨ª '%s' ਵਿੱਚ ਹਾਂ, ਜਿਸ ਨੂੰ ਰੀਅਲ-ਟਾਈਮ ਤਹਿ ਕੀਤਾ ਗਿਆ ਹੈ।"
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit ਸਾਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ।"
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit ਵਧੇਰੇ-ਤਰਜੀਹ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ।"
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit ਸਾਨੂੰ ਰੀਅਲ-ਟਾਈਮ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ।"
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit ਰੀਅਲ-ਟਾਈਮ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ।"
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr "ਸੰਰਚਨਾ ਵਿੱਚ ਵਧੇਰੇ-ਤਰਜੀਹ ਯੋਗ ਕੀਤੀ ਗਈ ਹੈ, ਪਰ ਪਾਲਸੀ ਵਲੋਂ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕੀਤੀ।"
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO ਨੂੰ ਸਫਲਤਾਪੂਰਕ ਵਧਾਇਆ ਗਿਆ"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO ਫੇਲà©à¨¹: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE ਨੂੰ ਹਟਾ ਰਿਹਾ ਹੈ"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "ਰੀਅਲ-ਟਾਈਮ ਤਹਿ ਨੂੰ ਸੰਰਚਨਾ ਵਿੱਚ ਯੋਗ ਕਰਨ ਨਾਲ, ਪਰ ਪਾਲਸੀ ਵਲੋਂ ਮਨਜੂਰ ਨਹੀਂ ਕੀਤੀ।"
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "ਡੈਮਨ ਚੱਲ ਨਹੀਂ ਰਿਹਾ"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "ਡੈਮਨ PID %u ਤੌਰ ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "ਡੈਮਨ ਖਤਮ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr "ਇਹ ਪਰੋਗਰਾਮ ਰੂਟ ਦੇ ਤੌਰ ਤੇ ਚਲਾਉਣ ਲਈ ਨਹੀਂ ਹੈ (ਜਦੋਂ ਤੱਕ --system ਦਿੱਤਾ ਨਹੀਂ ਜਾਂਦਾ)।"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "ਰੂਟ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ।"
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start ਨੂੰ ਸਿਸਟਮ ਮੌਕਿਆਂ ਲਈ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ।"
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਪਰ --disallow-exit ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਪਰ --disallow-module-loading ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਜ਼ਬਰਦਸਤੀ SHM ਮੋਡ ਨੂੰ ਅਯੋਗ ਕਰ ਰਿਹਾ ਹੈ!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਜ਼ਬਰਦਸਤੀ idle ਟਾਈਲ ਬੰਦ ਨੂੰ ਅਯੋਗ ਕਰ ਰਿਹਾ ਹੈ!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "ਸਟੂਡੀਓ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹à¥¤"
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe ਫੇਲà©à¨¹: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() ਫੇਲà©à¨¹ ਹੈ: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() ਫੇਲà©à¨¹ ਹੈ: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ਆਤੀ ਫੇਲà©à¨¹ ਹੋਈ।"
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ਆਤੀ ਸਫ਼ਲ ਹੋਈ।"
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "ਇਹ ਪਲਸਆਡੀਓ %s ਹੈ"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "ਕੰਪਾਈਲੇਸ਼ਨ ਹੋਸਟ: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "ਕੰਪਾਈਲੇਸ਼ਨ CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "ਹੋਸਟ ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPUs ਲੱਭੇ।"
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "ਪੇਜ਼ ਸਾਈਜ਼ %lu ਬਾਈਟ ਹੈ"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Valgrind ਸਹਿਯੋਗ ਨਾਲ ਕੰਪਾਈਲ: ਹਾਂ"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Valgrind ਸਹਿਯੋਗ ਨਾਲ ਕੰਪਾਈਲ: ਨਹੀਂ"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Valgrind ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "ਓਪਟੀਮਾਈਜ਼ਡ ਬਿਲਡ: ਹਾਂ"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "ਓਪਟੀਮਾਈਜ਼ਡ ਬਿਲਡ: ਨਹੀਂ"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG ਪਰਿਭਾਸ਼ਤ, ਸਭ asserts ਅਯੋਗ ਹਨ।"
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH ਪਰਿਭਾਸ਼ਤ, ਸਿਰਫ ਫਾਸਟ ਪਾਥ asserts ਅਯੋਗ ਹਨ।"
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "ਸਭ asserts ਯੋਗ ਕੀਤੇ ਹਨ।"
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "ਮਸ਼ੀਨ ID ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "ਮਸ਼ੀਨ ID %s ਹੈ।"
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "ਮਸ਼ੀਨ ID %s ਹੈ।"
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "ਰਨਟਾਈਮ ਡਾਇਰੈਕਟਰੀ %s ਦੀ ਵਰਤੋਂ।"
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "ਸਟੇਟ ਡਾਇਰੈਕਟਰੀ %s ਦੀ ਵਰਤੋਂ।"
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -453,42 +334,42 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() ਫੇਲà©à¨¹ ਹੈ।"
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "ਤਾਜ਼ੀ ਹਾਈ-ਰੈਜ਼ੋਲੂਸ਼ਨ ਟਾਈਮਰ ਉਪਲੱਬਧ ਹੈ! Bon appetit!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
msgstr ""
"ਮਿੱਤਰਾ, ਤੇਰਾ ਕਰਨਲ ਪà©à¨°à¨¾à¨£à¨¾ ਹੈ! ਚੀਫ ਦੀ ਅੱਜ ਦੀ ਸਿਫਾਰਸ਼ ਹਾਈ-ਰੈਜ਼ੋਲੂਸ਼ਨ ਟਾਈਮਰ ਯੋਗ ਨਾਲ ਲੀਨਕਸ ਹੈ!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() ਫੇਲà©à¨¹ ਹੈ।"
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹à¥¤"
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ਆਤੀ ਬਿਨਾਂ ਕਿਸੇ ਲੋਡ ਕੀਤੇ ਮੈਡਿਊਲ, ਕੰਮ ਕਰਨ ਤੋਂ ਰੋਕ ਰਿਹਾ ਹੈ।"
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ਆਤੀ ਮà©à¨•à©°à¨®à¨²à¥¤"
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "ਡੈਮਨ ਬੰਦ ਕਰਨਾ ਸ਼à©à¨°à©‚ ਹੋ ਗਿਆ।"
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "ਡੈਮਨ ਬੰਦ ਹੋ ਗਿਆ।"
@@ -821,14 +702,10 @@ msgstr "ਦਿੱਤੇ ਡਿਫਾਲਟ ਚੈਨਲ ਮੈਪ ਦੀ ਦਿà
msgid "### Read from configuration file: %s ###\n"
msgstr "### ਸੰਰਚਨਾ ਫਾਇਲ ਵਿੱਚੋਂ ਪੜਿਆ: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "ਰੂਟ ਅਧਿਕਾਰ ਹਟਾ ਰਿਹਾ ਹੈ।"
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "CAP_SYS_NICE ਨੂੰ ਸਫਲਤਾਪੂਰਕ ਸੀਮਿਤ ਸਮੱਰਥਾ।"
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "ਪਲਸਆਡੀਓ ਸਾਊਂਡ ਸਿਸਟਮ"
@@ -837,24 +714,6 @@ msgstr "ਪਲਸਆਡੀਓ ਸਾਊਂਡ ਸਿਸਟਮ"
msgid "Start the PulseAudio Sound System"
msgstr "ਪਲਸਆਡੀਓ ਸਾਊਂਡ ਸਿਸਟਮ ਚਲਾਓ"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "ਪਲਸਆਡੀਓ ਡੈਮਨ ਲਈ ਵਧੇਰੇ-ਤਰਜੀਹ ਸੈਡਿਊਲ (ਨਾਂ-ਵਾਚਕ ਯੂਨੈਕਸ ਨਾਈਸ ਲੈਵਲ)"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "ਪਲਸਆਡੀਓ ਡੈਮਨ ਰੀਅਲ-ਟਾਈਮ ਸੈਡਿਊਲ"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "ਸਿਸਟਮ ਪਾਲਸੀ ਪਲਸਆਡੀਓ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਸੈਡਿਊਲ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ।"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "ਸਿਸਟਮ ਪਾਲਸੀ ਪਲਸਆਡੀਓ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਰੀਅਲ-ਟਾਈਮ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ।"
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "ਮੋਨੋ"
@@ -1227,183 +1086,187 @@ msgstr "ਕੂਕੀ ਡਾਟਾ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਫੇਲà
msgid "Failed to open configuration file '%s': %s"
msgstr "ਸੰਰਚਨਾ ਫਾਇਲ '%s' ਨੂੰ ਖੋਲà©à¨¹à¨£ ਵਿੱਚ ਫੇਲà©à¨¹: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "ਕੋਈ ਕੂਕੀ ਲੋਡ ਨਹੀਂ ਕੀਤੀ। ਇਸ ਤੋਂ ਬਿਨਾਂ ਕà©à¨¨à©ˆà¨•à¨Ÿ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "ਅਣਜਾਣੀ ਇਕਸਟੈਂਸ਼ਨ '%s' ਲਈ ਸà©à¨¨à©‡à¨¹à¨¾ ਮਿਲਿਆ ਹੈ"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "ਸਟਰੀਮ ਡਰੇਨ ਫੇਲà©à¨¹ ਹੋਇਆ: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "ਪਲੇਬੈਕ ਸਟਰੀਮ ਡਰੇਨ ਕੀਤੀ।\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "ਸਰਵਰ ਨਾਲ ਕà©à¨¨à©ˆà¨•à¨¶à¨¨ ਡਰੇਨ ਹੋ ਰਿਹਾ ਹੈ।\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() ਫੇਲà©à¨¹ ਹੈ: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() ਫੇਲà©à¨¹ ਹੈ: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() ਫੇਲà©à¨¹ ਹੈ: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "ਸਟਰੀਮ ਸਫਲਤਾਪੂਰਕ ਬਣ ਗਈ ਹੈ।\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() ਫੇਲà©à¨¹ ਹੈ: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Buffer metrics: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "ਸਧਾਰਨ spec '%s', ਚੈਨਲ ਮੈਪ '%s' ਦੀ ਵਰਤੋਂ।\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "%s ਜੰਤਰ ਨਾਲ ਕà©à¨¨à¨•à©ˆà¨Ÿ ਕੀਤਾ (%u, %ssuspended)।\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "ਸਟਰੀਮ ਗਲਤੀ: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "ਸਟਰੀਮ ਜੰਤਰ ਸਸਪੈਂਡ ਕੀਤਾ ਹੈ।%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "ਸਟਰੀਮ ਜੰਤਰ ਮà©à©œ-ਪà©à¨°à¨¾à¨ªà¨¤ ਕੀਤਾ।%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "ਸਟਰੀਮ ਅੰਡਰਰਨ।%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "ਸਟਰੀਮ ਓਵਰਰਨ।%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "ਸਟਰੀਮ ਸ਼à©à¨°à©‚ ਕੀਤੀ। %s\n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "ਸਟਰੀਮ ਨੂੰ ਜੰਤਰ %s ਤੋਂ ਤਬਦੀਲ ਕੀਤਾ ਗਿਆ ਹੈ (%u, %ssuspended)।%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "ਨਹੀਂ "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "ਸਟਰੀਮ ਬਫਰ à¨à¨Ÿà¨°à©€à¨¬à¨¿à¨Šà¨Ÿ ਤਬਦੀਲ ਕੀਤੇ ਗà¨à¥¤%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "ਕà©à¨¨à©ˆà¨•à¨¶à¨¨ ਬਣ ਗਿਆ।%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() ਫੇਲà©à¨¹ ਹੈ: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() ਫੇਲà©à¨¹ ਹੈ: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() ਫੇਲà©à¨¹ ਹੈ: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "ਕà©à¨¨à©ˆà¨•à¨¶à¨¨ ਫੇਲ: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF ਮਿਲਿਆ।\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() ਫੇਲà©à¨¹ ਹੈ: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF ਮਿਲਿਆ।\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() ਫੇਲà©à¨¹ ਹੈ: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "ਸਿਗਨਲ ਮਿਲਿਆ, ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ।\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "ਵਕਫਾ ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਫੇਲ ਹੋਈ: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "ਸਮਾਂ: %0.3f ਸਕਿੰਟ; ਵਕਫਾ: %0.0f usec। \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() ਫੇਲà©à¨¹ ਹੈ: %s\n"
#: ../src/utils/pacat.c:605
@@ -1525,34 +1388,34 @@ msgstr ""
"libpulse %s ਦੇ ਕੰਪਾਇਲ\n"
"libpulse %s ਨਾਲ ਲਿੰਕ ਕੀਤਾ\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "ਅਢà©à©±à¨•à¨µà¨¾à¨‚ ਚੈਨਲ ਮੈਪ '%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "ਅਢà©à©±à¨•à¨µà¨¾à¨‚ ਰੀਸੈਂਪਲ ਢੰਗ '%s'।"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "ਅਢà©à©±à¨•à¨µà¨¾à¨‚ ਚੈਨਲ ਮੈਪ '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "ਅਢà©à©±à¨•à¨µà¨¾à¨‚ ਵਕਫਾ ਹਦਾਇਤ '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "ਅਢà©à©±à¨•à¨µà¨¾à¨‚ ਪਰੋਸੈੱਸ ਟਾਈਮ ਹਦਾਇਤ '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "ਅਢà©à©±à¨•à¨µà¨¾à¨‚ ਰੀਸੈਂਪਲ ਢੰਗ '%s'।"
#: ../src/utils/pacat.c:878
@@ -1561,60 +1424,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "ਅਢà©à©±à¨•à¨µà¨¾à¨‚ ਸੈਂਪਲ ਹਦਾਇਤ\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "ਬਹà©à¨¤ ਵੱਧ ਆਰਗੂਮੈਂਟ।\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "ਸੈਂਪਲ ਜਾਣਕਾਰੀ ਲੈਣ ਵਿੱਚ ਫੇਲ: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "ਸਾਊਂਡ ਫਾਇਲ ਖੋਲà©à¨¹à¨£ ਲਈ ਫੇਲà©à¨¹ ਹੈ।\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "ਇੱਕ %s ਸਟਰੀਮ ਨੂੰ ਸੈਂਪਲ ਹਦਾਇਤ '%s' ਨਾਲ ਖੋਲà©à¨¹à¨¿à¨† ਜਾ ਰਿਹਾ ਹੈ।\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "ਸੈਂਪਲ ਜਾਣਕਾਰੀ ਲੈਣ ਵਿੱਚ ਫੇਲ: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "ਇੱਕ %s ਸਟਰੀਮ ਨੂੰ ਸੈਂਪਲ ਹਦਾਇਤ '%s' ਨਾਲ ਖੋਲà©à¨¹à¨¿à¨† ਜਾ ਰਿਹਾ ਹੈ।\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "ਚੈਨਲ ਮੈਪ ਸੈਂਪਲ ਹਦਾਇਤ ਨਾਲ ਨਹੀਂ ਮਿਲਦਾ\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "ਇੱਕ %s ਸਟਰੀਮ ਨੂੰ ਸੈਂਪਲ ਹਦਾਇਤ '%s' ਨਾਲ ਖੋਲà©à¨¹à¨¿à¨† ਜਾ ਰਿਹਾ ਹੈ।\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "ਇੱਕ %s ਸਟਰੀਮ ਨੂੰ ਸੈਂਪਲ ਹਦਾਇਤ '%s' ਨਾਲ ਖੋਲà©à¨¹à¨¿à¨† ਜਾ ਰਿਹਾ ਹੈ।\n"
#: ../src/utils/pacat.c:1006
@@ -1625,35 +1494,34 @@ msgstr "ਰਿਕਾਰਡਿੰਗ"
msgid "playback"
msgstr "ਪਲੇਅਬੈਕ"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() ਫੇਲà©à¨¹ ਹੈ।\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() ਫੇਲà©à¨¹ ਹੈ।\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() ਫੇਲà©à¨¹ ਹੈ।\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() ਫੇਲà©à¨¹ ਹੈ: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() ਫੇਲà©à¨¹ ਹੈ।\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() ਫੇਲà©à¨¹ ਹੈ।\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() ਫੇਲà©à¨¹ ਹੈ।\n"
#: ../src/utils/pasuspender.c:81
@@ -1681,6 +1549,11 @@ msgstr "ਮà©à©œ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਫੇਲ: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "ਚੇਤਾਵਨੀ: ਸਾਊਂਡ ਸਰਵਰ ਲੋਕਲ ਨਹੀਂ ਹੈ, ਸਸਪੈਂਡ ਨਹੀਂ ਹੋ ਰਿਹਾ।\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "ਕà©à¨¨à©ˆà¨•à¨¶à¨¨ ਫੇਲ: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1721,6 +1594,21 @@ msgstr ""
"libpulse %s ਨਾਲ ਕੰਪਾਇਲ\n"
"libpulse %s ਨਾਲ ਲਿੰਕ\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() ਫੇਲà©à¨¹ ਹੈ।\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() ਫੇਲà©à¨¹ ਹੈ।\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() ਫੇਲà©à¨¹ ਹੈ।\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2135,6 +2023,11 @@ msgstr ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "ਅਢà©à©±à¨•à¨µà¨¾à¨‚ ਚੈਨਲ ਮੈਪ '%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "ਲੋਡ ਕਰਨ ਲਈ ਸੈਂਪਲ ਫਾਇਲ ਦਿਓ\n"
@@ -2143,6 +2036,11 @@ msgstr "ਲੋਡ ਕਰਨ ਲਈ ਸੈਂਪਲ ਫਾਇਲ ਦਿਓ\n"
msgid "Failed to open sound file.\n"
msgstr "ਸਾਊਂਡ ਫਾਇਲ ਖੋਲà©à¨¹à¨£ ਲਈ ਫੇਲà©à¨¹ ਹੈ।\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "ਸੈਂਪਲ ਜਾਣਕਾਰੀ ਲੈਣ ਵਿੱਚ ਫੇਲ: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2202,11 +2100,6 @@ msgstr "ਤà©à¨¹à¨¾à¨¨à©‚à©° ਇੱਕ ਕਾਰਡ ਨਾਂ/ਲਿਸਟ ਅà
msgid "No valid command specified.\n"
msgstr "ਕੋਈ ਯੋਗ ਕਮਾਂਡ ਨਹੀਂ ਦਿੱਤੀ।\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() ਫੇਲà©à¨¹ ਹੈ: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2323,11 +2216,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "autospawn ਲਾਕ ਵਰਤ ਨਹੀਂ ਸਕਦਾ।"
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2344,7 +2237,7 @@ msgstr ""
"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
"returned 0 or another value < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2362,15 +2255,15 @@ msgstr ""
"returned 0 or another value < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "ਬੰਦ"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "ਹਾਈ ਫਡੈਲਿਟੀ ਪਲੇਅਬੈਕ (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "ਟੈਲੀਫੋਨੀ ਡà©à¨ªà¨²à©ˆà¨•à¨¸ (HSP/HFP)"
@@ -2378,6 +2271,128 @@ msgstr "ਟੈਲੀਫੋਨੀ ਡà©à¨ªà¨²à©ˆà¨•à¨¸ (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "ਪਲਸਆਡੀਓ ਸਾਊਂਡ ਡਰਾਇਵਰ"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "ਸਿਸਟਮ ਬੱਸ ਨਾਲ ਜà©à©œà¨¨ ਨਹੀਂ ਸਕਿਆ: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID ਤੋਂ ਕਾਲਰ ਪà©à¨°à¨¾à¨ªà¨¤ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "ਕਾਲਰ à¨à¨¬à¨œà©ˆà¨•à¨Ÿ ਤੇ UID ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।"
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK ਸ਼ੈਸ਼ਨ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਫੇਲ।"
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "ਸ਼ੈਸ਼ਨ ਆਬਜੈਕਟ ਤੇ UID ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।"
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction ਨਹੀਂ ਦੇ ਸਕਿਆ।"
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext ਜਾਰੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext ਨੂੰ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "ਪਤਾ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿ ਕੀ ਕਾਲਰ ਪਰਮਾਣਿਤ ਹੈ: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "ਪਰਮਾਣਕਿਤਾ ਨਹੀਂ ਲੈ ਸਕਦਾ: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit ਦੇ ਜਵਾਬ ਵਜੋਂ '%s' ਮਿਲਿਆ ਹੈ"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr "ਪਲਸਆਡੀਓ ਡੈਮਨ ਲਈ ਵਧੇਰੇ-ਤਰਜੀਹ ਸੈਡਿਊਲ (ਨਾਂ-ਵਾਚਕ ਯੂਨੈਕਸ ਨਾਈਸ ਲੈਵਲ)"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "ਪਲਸਆਡੀਓ ਡੈਮਨ ਰੀਅਲ-ਟਾਈਮ ਸੈਡਿਊਲ"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr "ਸਿਸਟਮ ਪਾਲਸੀ ਪਲਸਆਡੀਓ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਸੈਡਿਊਲ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ।"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr "ਸਿਸਟਮ ਪਾਲਸੀ ਪਲਸਆਡੀਓ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਰੀਅਲ-ਟਾਈਮ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ।"
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() ਫੇਲà©à¨¹ ਹੈ: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() ਫੇਲà©à¨¹ ਹੈ: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "ਅਸੀਂ ਗਰà©à©±à¨ª '%s' ਵਿੱਚ ਹਾਂ, ਜਿਸ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਤਹਿ ਕੀਤਾ ਗਿਆ ਹੈ।"
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "ਅਸੀਂ ਗਰà©à©±à¨ª '%s' ਵਿੱਚ ਹਾਂ, ਜਿਸ ਨੂੰ ਰੀਅਲ-ਟਾਈਮ ਤਹਿ ਕੀਤਾ ਗਿਆ ਹੈ।"
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit ਸਾਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ।"
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit ਵਧੇਰੇ-ਤਰਜੀਹ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ।"
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit ਸਾਨੂੰ ਰੀਅਲ-ਟਾਈਮ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ।"
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit ਰੀਅਲ-ਟਾਈਮ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ।"
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr "ਸੰਰਚਨਾ ਵਿੱਚ ਵਧੇਰੇ-ਤਰਜੀਹ ਯੋਗ ਕੀਤੀ ਗਈ ਹੈ, ਪਰ ਪਾਲਸੀ ਵਲੋਂ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕੀਤੀ।"
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO ਨੂੰ ਸਫਲਤਾਪੂਰਕ ਵਧਾਇਆ ਗਿਆ"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO ਫੇਲà©à¨¹: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE ਨੂੰ ਹਟਾ ਰਿਹਾ ਹੈ"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr "ਰੀਅਲ-ਟਾਈਮ ਤਹਿ ਨੂੰ ਸੰਰਚਨਾ ਵਿੱਚ ਯੋਗ ਕਰਨ ਨਾਲ, ਪਰ ਪਾਲਸੀ ਵਲੋਂ ਮਨਜੂਰ ਨਹੀਂ ਕੀਤੀ।"
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "CAP_SYS_NICE ਨੂੰ ਸਫਲਤਾਪੂਰਕ ਸੀਮਿਤ ਸਮੱਰਥਾ।"
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() ਫੇਲà©à¨¹ ਹੈ।\n"
+
#~ msgid "Analog Mono"
#~ msgstr "à¨à¨¨à¨¾à¨²à¨¾à¨— ਮੋਨੋ"
diff --git a/po/pl.po b/po/pl.po
index df526062..371de41c 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,15 +5,20 @@ msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
-"PO-Revision-Date: 2009-06-09 00:03+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
+"PO-Revision-Date: 2009-07-28 21:54+0200\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr "%s %s"
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -25,7 +30,7 @@ msgstr ""
"Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten "
"problem programistom ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -37,7 +42,7 @@ msgstr ""
"Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten "
"problem programistom ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -51,7 +56,7 @@ msgstr ""
#: ../src/modules/module-ladspa-sink.c:49
msgid "Virtual LADSPA sink"
-msgstr ""
+msgstr "Wirtualny odpływ LADSPA"
#: ../src/modules/module-ladspa-sink.c:53
msgid ""
@@ -61,8 +66,13 @@ msgid ""
"plugin name> label=<ladspa plugin label> control=<comma seperated list of "
"input control values>"
msgstr ""
+"sink_name=<nazwa odpływu> sink_properties=<właściwości odpływu> "
+"master=<nazwa odpływu do filtrowania> format=<format próbki> "
+"rate=<częstotliwość próbki> channels=<liczba kanałów> channel_map=<mapa "
+"kanałów> plugin=<nazwa wtyczki ladspa> label=<etykieta wtyczki ladspa> "
+"control=<lista wartości kontroli wejścia oddzielona przecinkami>"
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Wewnętrzny dźwięk"
@@ -83,222 +93,92 @@ msgstr "Przydzielenie nowego programu wczytującego dl nie powiodło się."
msgid "Failed to add bind-now-loader."
msgstr "Dodanie bind-now-loader nie powiodło się."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Nie można połączyć się z magistralą systemową: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Nie można uzyskać obiektu caller z PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Nie można ustawić UID obiektu caller."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Uzyskanie sesji CK nie powiodło się."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Nie można ustawić UID obiektowi sesji."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Nie można przydzielić PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Nie można ustawić action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Nie można przydzielić PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Nie można zainicjować PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Nie można ustalić, czy obiekt caller jest upoważniony: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Nie można uzyskać upoważnienia: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit zwróciło \"%s\""
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Otrzymano sygnał %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Wyłączanie."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Znalezienie użytkownika \"%s\" nie powiodło się."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Znalezienie grupy \"%s\" nie powiodło się."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Znaleziono użytkownika \"%s\" (UID %lu) i grupę \"%s\" (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID użytkownika \"%s\" i grupy \"%s\" nie zgadzają się."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Folder domowy użytkownika \"%s\" nie jest \"%s\", ignorowanie."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Utworzenie \"%s\" nie powiodło się: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Zmiana listy grup nie powiodła się: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Zmiana GID nie powiodła się: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Zmiana UID nie powiodła się: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Pomyślnie porzucono uprawnienia roota."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Tryb systemowy nie jest obsługiwany na tej platformie."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) nie powiodło się: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Analiza wiersza poleceń nie powiodła się."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Jesteśmy w grupie \"%s\", co umożliwia szeregowanie o wysokim priorytecie."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-"Jesteśmy w grupie \"%s\", co umożliwia szeregowanie w czasie rzeczywistym."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit nadał uprawnienie \"acquire-high-priority\"."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit odmówił nadania uprawnienia \"acquire-high-priority\"."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit nadał uprawnienie \"acquire-real-time\"."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit odmówił nadania uprawnienia \"acquire-real-time\"."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"W konfiguracji zażądano SUID roota i szeregowanie w czasie rzeczywistym i/"
-"lub o wysokim priorytecie. Brak wymaganych uprawnień:\n"
-"Nie jesteśmy w grupie \"%s\", PolicyKit odmawia przyznania żądanych "
-"uprawnień i brak ograniczeń zwiększania zasobów RLIMIT_NICE/RLIMIT_RTPRIO.\n"
-"Aby włączyć szeregowanie w czasie rzeczywistym i/lub o wysokim priorytecie, "
-"należy uzyskać odpowiednie uprawnienia PolicyKit, zostać członkiem grupy \"%s"
-"\" lub zwiększyć ograniczenia zasobów RLIMIT_NICE/RLIMIT_RTPRIO dla tego "
-"użytkownika."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Szeregowanie o wysokim priorytecie jest włączone w konfiguracji, ale nie "
-"jest zezwolone przez politykÄ™."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "Pomyślnie zwiększono RLIMIT_RTPRIO"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO nie powiodło się: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Oddawanie CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Szeregowanie w czasie rzeczywistym jest włączone w konfiguracji, ale nie "
-"jest zezwolone przez politykÄ™."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Demon nie jest uruchomiony"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Demon jest uruchomiony jako PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Zniszczenie demona nie powiodło się: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -306,155 +186,155 @@ msgstr ""
"Ten program nie powinien być uruchomiany jako root (chyba, że podano --"
"system)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Wymagane sÄ… uprawnienia roota."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start nie jest obsługiwane przy uruchamianiu systemowym."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr ""
"Uruchamianie w trybie systemowym, ale --disallow-exit nie jest ustawione!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"Uruchamianie w trybie systemowym, ale --disallow-module-loading nie jest "
"ustawione!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "Uruchamianie w trybie systemowym, wymuszanie wyłączenia trybu SHM!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"Uruchamianie w trybie systemowym, wymuszanie wyłączenia czasu oczekiwania na "
"zakończenie!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Uzyskanie standardowego wejścia/wyjścia nie powiodło się."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "potok nie powiódł się: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() nie powiodło się: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() nie powiodło się: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Uruchomienie demona nie powiodło się."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Pomyślnie uruchomiono demona."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "To jest PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Komputer kompilacji: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "CFLAGS kompilacji: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Uruchamianie na komputerze: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Znaleziono %u procesorów."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Rozmiar strony to %lu bajtów"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Skompilowano z obsługą Valgrind: tak"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Skompilowano z obsługą Valgrind: nie"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Uruchamianie w trybie Valgrind: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Budowanie optymalizowane: tak"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Budowanie optymalizowane: nie"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "Podano NDEBUG, wszystkie asercje zostały wyłączone."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "Podano FASTPATH, tylko szybkie asercje ścieżek zostały wyłączone."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Wszystkie asercje są włączone."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Uzyskanie identyfikatora komputera nie powiodło się"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "Identyfikator komputera to %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, c-format
msgid "Session ID is %s."
msgstr "Identyfikator sesji to %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Używanie folderu wykonywania %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Używanie folderu stanu %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Uruchamianie w trybie systemowym: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -463,16 +343,22 @@ msgid ""
"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an "
"explanation why system mode is usually a bad idea."
msgstr ""
-
-#: ../src/daemon/main.c:951
+"OK, więc PA jest uruchomione w trybie systemowym. Proszę zauważyć, że "
+"prawdopodobnie tak nie powinno być.\n"
+"Jeśli mimo to tak jest, to twoja wina, jeśli coś nie działa tak jak "
+"powinno.\n"
+"Proszę przeczytać http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode, "
+"gdzie wyjaśniono, dlaczego tryb systemowy jest zwykle złym pomysłem."
+
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() nie powiodło się."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Świeże zegary o wysokiej rozdzielczości! Smacznego!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -480,27 +366,27 @@ msgstr ""
"Koleś, twoje jądro śmierdzi! Szef kuchni poleca dzisiaj Linuksa w włączonymi "
"zegarami o wysokiej rozdzielczości!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() nie powiodło się."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Zainicjowanie demona nie powiodło się."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Uruchamianie demona bez żadnych wczytanych modułów, odmawianie pracy."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Zakończono uruchamianie demona."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Zainicjowano wyłączenie demona."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Demon został zniszczony."
@@ -844,14 +730,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Odczytano z pliku konfiguracji: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Porzucanie uprawnień roota."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "Pomyślnie ograniczono możliwości do CAP_SYS_NICE."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "System dźwięku PulseAudio"
@@ -860,30 +742,6 @@ msgstr "System dźwięku PulseAudio"
msgid "Start the PulseAudio Sound System"
msgstr "Uruchomienie systemu dźwięku PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"Szeregowanie o wysokim priorytecie (ujemny poziom nice Uniksa) dla demona "
-"PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Szeregowanie w czasie rzeczywistym dla demona PulseAudio"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania o wysokim "
-"priorytecie."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania w czasie "
-"rzeczywistym."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1256,184 +1114,183 @@ msgstr "Analiza danych ciasteczka nie powiodło się"
msgid "Failed to open configuration file '%s': %s"
msgstr "Otwarcie pliku konfiguracji \"%s\" nie powiodło się: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Nie wczytano ciasteczka. Próbowanie połączenia się bez niego."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Otrzymano komunikat z nieznanego powodu \"%s\""
-#: ../src/utils/pacat.c:107
+#: ../src/utils/pacat.c:108
#, c-format
-msgid "Failed to drain stream: %s\n"
-msgstr "Opróżnienie strumienia nie powiodło się: %s\n"
+msgid "Failed to drain stream: %s"
+msgstr "Opróżnienie strumienia nie powiodło się: %s"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
-msgstr "Opróżniono strumień odtwarzania.\n"
+#: ../src/utils/pacat.c:113
+msgid "Playback stream drained."
+msgstr "Opróżniono strumień odtwarzania."
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
-msgstr "Opróżnianie połączenia z serwerem.\n"
+#: ../src/utils/pacat.c:123
+msgid "Draining connection to server."
+msgstr "Opróżnianie połączenia z serwerem."
-#: ../src/utils/pacat.c:135
+#: ../src/utils/pacat.c:136
#, c-format
-msgid "pa_stream_drain(): %s\n"
-msgstr "pa_stream_drain(): %s\n"
+msgid "pa_stream_drain(): %s"
+msgstr "pa_stream_drain(): %s"
-#: ../src/utils/pacat.c:158
+#: ../src/utils/pacat.c:159
#, c-format
-msgid "pa_stream_write() failed: %s\n"
-msgstr "pa_stream_write() nie powiodło się: %s\n"
+msgid "pa_stream_write() failed: %s"
+msgstr "pa_stream_write() nie powiodło się: %s"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
+#: ../src/utils/pacat.c:197
#, c-format
-msgid "pa_stream_peek() failed: %s\n"
-msgstr "pa_stream_peek() nie powiodło się: %s\n"
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_begin_write() nie powiodło się: %s"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
-msgstr "Pomyślnie utworzono strumień.\n"
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, c-format
+msgid "pa_stream_peek() failed: %s"
+msgstr "pa_stream_peek() nie powiodło się: %s"
+
+#: ../src/utils/pacat.c:307
+msgid "Stream successfully created."
+msgstr "Pomyślnie utworzono strumień."
-#: ../src/utils/pacat.c:305
+#: ../src/utils/pacat.c:310
#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
-msgstr "pa_stream_get_buffer_attr() nie powiodło się: %s\n"
+msgid "pa_stream_get_buffer_attr() failed: %s"
+msgstr "pa_stream_get_buffer_attr() nie powiodło się: %s"
-#: ../src/utils/pacat.c:309
+#: ../src/utils/pacat.c:314
#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-msgstr "Metryka bufora: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
+msgstr "Metryka bufora: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
-#: ../src/utils/pacat.c:312
+#: ../src/utils/pacat.c:317
#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
-msgstr "Metryka bufora: maxlength=%u, fragsize=%u\n"
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
+msgstr "Metryka bufora: maxlength=%u, fragsize=%u"
-#: ../src/utils/pacat.c:316
+#: ../src/utils/pacat.c:321
#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
-msgstr "Używanie przykładowej specyfikacji \"%s\", mapa kanałów \"%s\".\n"
+msgid "Using sample spec '%s', channel map '%s'."
+msgstr "Używanie przykładowej specyfikacji \"%s\", mapa kanałów \"%s\"."
-#: ../src/utils/pacat.c:320
+#: ../src/utils/pacat.c:325
#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
-msgstr "Połączono się z urządzeniem %s (%u, %swstrzymane).\n"
+msgid "Connected to device %s (%u, %ssuspended)."
+msgstr "Połączono się z urządzeniem %s (%u, %swstrzymane)."
-#: ../src/utils/pacat.c:330
+#: ../src/utils/pacat.c:335
#, c-format
-msgid "Stream error: %s\n"
-msgstr "BÅ‚Ä…d strumienia: %s\n"
+msgid "Stream error: %s"
+msgstr "BÅ‚Ä…d strumienia: %s"
-#: ../src/utils/pacat.c:340
+#: ../src/utils/pacat.c:345
#, c-format
-msgid "Stream device suspended.%s \n"
-msgstr "Wstrzymano urzÄ…dzenie strumienia.%s \n"
+msgid "Stream device suspended.%s"
+msgstr "Wstrzymano urzÄ…dzenie strumienia.%s"
-#: ../src/utils/pacat.c:342
+#: ../src/utils/pacat.c:347
#, c-format
-msgid "Stream device resumed.%s \n"
-msgstr "Wznowiono urzÄ…dzenie strumienia.%s \n"
+msgid "Stream device resumed.%s"
+msgstr "Wznowiono urzÄ…dzenie strumienia.%s"
-#: ../src/utils/pacat.c:350
+#: ../src/utils/pacat.c:355
#, c-format
-msgid "Stream underrun.%s \n"
-msgstr "Niedopełniono strumień.%s \n"
+msgid "Stream underrun.%s"
+msgstr "Niedopełniono strumień.%s"
-#: ../src/utils/pacat.c:357
+#: ../src/utils/pacat.c:362
#, c-format
-msgid "Stream overrun.%s \n"
-msgstr "Przepełniono strumień.%s \n"
+msgid "Stream overrun.%s"
+msgstr "Przepełniono strumień.%s"
-#: ../src/utils/pacat.c:364
+#: ../src/utils/pacat.c:369
#, c-format
-msgid "Stream started.%s \n"
-msgstr "Utworzono strumień.%s \n"
+msgid "Stream started.%s"
+msgstr "Utworzono strumień.%s"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
-msgstr "Strumień został przeniesiony do urządzenia %s (%u, %swstrzymane).%s \n"
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
+msgstr "Strumień został przeniesiony do urządzenia %s (%u, %swstrzymane).%s"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "nie "
-#: ../src/utils/pacat.c:378
+#: ../src/utils/pacat.c:383
#, c-format
-msgid "Stream buffer attributes changed.%s \n"
-msgstr "Zmieniono atrybuty bufora strumienia.%s \n"
+msgid "Stream buffer attributes changed.%s"
+msgstr "Zmieniono atrybuty bufora strumienia.%s"
-#: ../src/utils/pacat.c:411
+#: ../src/utils/pacat.c:416
#, c-format
-msgid "Connection established.%s \n"
-msgstr "Ustanowiono połączenie.%s \n"
+msgid "Connection established.%s"
+msgstr "Ustanowiono połączenie.%s"
-#: ../src/utils/pacat.c:414
+#: ../src/utils/pacat.c:419
#, c-format
-msgid "pa_stream_new() failed: %s\n"
-msgstr "pa_stream_new() nie powiodło się: %s\n"
+msgid "pa_stream_new() failed: %s"
+msgstr "pa_stream_new() nie powiodło się: %s"
-#: ../src/utils/pacat.c:442
+#: ../src/utils/pacat.c:447
#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
-msgstr "pa_stream_connect_playback() nie powiodło się: %s\n"
+msgid "pa_stream_connect_playback() failed: %s"
+msgstr "pa_stream_connect_playback() nie powiodło się: %s"
-#: ../src/utils/pacat.c:448
+#: ../src/utils/pacat.c:453
#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
-msgstr "pa_stream_connect_record() nie powiodło się: %s\n"
+msgid "pa_stream_connect_record() failed: %s"
+msgstr "pa_stream_connect_record() nie powiodło się: %s"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
+#: ../src/utils/pacat.c:467
#, c-format
-msgid "Connection failure: %s\n"
-msgstr "Połączenie nie powiodło się: %s\n"
-
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Otrzymano EOF.\n"
+msgid "Connection failure: %s"
+msgstr "Połączenie nie powiodło się: %s"
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() nie powiodło się: %s\n"
+msgid "Got EOF."
+msgstr "Otrzymano EOF."
-#: ../src/utils/pacat.c:532
+#: ../src/utils/pacat.c:537
#, c-format
-msgid "write() failed: %s\n"
-msgstr "write() nie powiodło się: %s\n"
+msgid "write() failed: %s"
+msgstr "write() nie powiodło się: %s"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
-msgstr "Otrzymano sygnał, wyłączanie.\n"
+#: ../src/utils/pacat.c:558
+msgid "Got signal, exiting."
+msgstr "Otrzymano sygnał, wyłączanie."
-#: ../src/utils/pacat.c:567
+#: ../src/utils/pacat.c:572
#, c-format
-msgid "Failed to get latency: %s\n"
-msgstr "Uzyskanie opóźnienia nie powiodło się: %s\n"
+msgid "Failed to get latency: %s"
+msgstr "Uzyskanie opóźnienia nie powiodło się: %s"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Czas: %0.3f sekundy; opóźnienie: %0.0f usekundy. \r"
-#: ../src/utils/pacat.c:592
+#: ../src/utils/pacat.c:595
#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
-msgstr "pa_stream_update_timing_info() nie powiodło się: %s\n"
+msgid "pa_stream_update_timing_info() failed: %s"
+msgstr "pa_stream_update_timing_info() nie powiodło się: %s"
#: ../src/utils/pacat.c:605
#, c-format
@@ -1561,35 +1418,35 @@ msgstr ""
"Skompilowane za pomocÄ… libpulse %s\n"
"Skonsolidowane za pomocÄ… libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, c-format
-msgid "Invalid client name '%s'\n"
-msgstr "Nieprawidłowa nazwa klienta \"%s\"\n"
+msgid "Invalid client name '%s'"
+msgstr "Nieprawidłowa nazwa klienta \"%s\""
#: ../src/utils/pacat.c:776
#, c-format
-msgid "Invalid stream name '%s'\n"
-msgstr "Nieprawidłowa nazwa strumienia \"%s\"\n"
+msgid "Invalid stream name '%s'"
+msgstr "Nieprawidłowa nazwa strumienia \"%s\""
#: ../src/utils/pacat.c:813
#, c-format
-msgid "Invalid channel map '%s'\n"
-msgstr "Nieprawidłowa mapa kanałów \"%s\"\n"
+msgid "Invalid channel map '%s'"
+msgstr "Nieprawidłowa mapa kanałów \"%s\""
#: ../src/utils/pacat.c:842
#, c-format
-msgid "Invalid latency specification '%s'\n"
-msgstr "Nieprawidłowe określenie opóźnienia \"%s\"\n"
+msgid "Invalid latency specification '%s'"
+msgstr "Nieprawidłowe określenie opóźnienia \"%s\""
#: ../src/utils/pacat.c:849
#, c-format
-msgid "Invalid process time specification '%s'\n"
-msgstr "Nieprawidłowe określenie czasu procesu \"%s\"\n"
+msgid "Invalid process time specification '%s'"
+msgstr "Nieprawidłowe określenie czasu procesu \"%s\""
#: ../src/utils/pacat.c:861
#, c-format
-msgid "Invalid property '%s'\n"
-msgstr "Nieprawidłowa własność \"%s\"\n"
+msgid "Invalid property '%s'"
+msgstr "Nieprawidłowa własność \"%s\""
#: ../src/utils/pacat.c:878
#, c-format
@@ -1597,62 +1454,62 @@ msgid "Unknown file format %s."
msgstr "Nieznany format pliku %s."
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
-msgstr "Nieprawidłowe określenie próbki\n"
+msgid "Invalid sample specification"
+msgstr "Nieprawidłowe określenie próbki"
#: ../src/utils/pacat.c:907
#, c-format
-msgid "open(): %s\n"
-msgstr "open(): %s\n"
+msgid "open(): %s"
+msgstr "open(): %s"
#: ../src/utils/pacat.c:912
#, c-format
-msgid "dup2(): %s\n"
-msgstr "dup2(): %s\n"
+msgid "dup2(): %s"
+msgstr "dup2(): %s"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
-msgstr "Za dużo parametrów.\n"
+msgid "Too many arguments."
+msgstr "Za dużo parametrów."
#: ../src/utils/pacat.c:930
-msgid "Failed to generate sample specification for file.\n"
-msgstr "Utworzenie określenia próbki dla pliku nie powiodło się.\n"
+msgid "Failed to generate sample specification for file."
+msgstr "Utworzenie określenia próbki dla pliku nie powiodło się."
#: ../src/utils/pacat.c:950
-msgid "Failed to open audio file.\n"
-msgstr "Otwarcie pliku dźwiękowego nie powiodło się.\n"
+msgid "Failed to open audio file."
+msgstr "Otwarcie pliku dźwiękowego nie powiodło się."
#: ../src/utils/pacat.c:956
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
+"specification from file."
msgstr ""
"Ostrzeżenie: podane określenie próbki zostanie zastąpione przez określenie z "
-"pliku.\n"
+"pliku."
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
-msgid "Failed to determine sample specification from file.\n"
-msgstr "Ustalenie określenia próbki z pliku nie powiodło się.\n"
+#: ../src/utils/pacat.c:959
+msgid "Failed to determine sample specification from file."
+msgstr "Ustalenie określenia próbki z pliku nie powiodło się."
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr "Ostrzeżenie: ustalenie mapy kanałów z pliku nie powiodło się.\n"
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Ostrzeżenie: ustalenie mapy kanałów z pliku nie powiodło się."
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
-msgstr "Mapa kanałów nie zgadza się z określeniem próbki\n"
+msgid "Channel map doesn't match sample specification"
+msgstr "Mapa kanałów nie zgadza się z określeniem próbki"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr "Ostrzeżenie: zapisanie mapy kanałów do pliku nie powiodło się.\n"
+msgid "Warning: failed to write channel map to file."
+msgstr "Ostrzeżenie: zapisanie mapy kanałów do pliku nie powiodło się."
#: ../src/utils/pacat.c:1005
#, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr ""
"Otwieranie strumienia %s za pomocą określenie próbki \"%s\" i mapy kanałów "
-"\"%s\".\n"
+"\"%s\"."
#: ../src/utils/pacat.c:1006
msgid "recording"
@@ -1662,36 +1519,30 @@ msgstr "nagrywanie"
msgid "playback"
msgstr "odtwarzanie"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
-msgstr "pa_mainloop_new() nie powiodło się.\n"
+#: ../src/utils/pacat.c:1032
+msgid "pa_mainloop_new() failed."
+msgstr "pa_mainloop_new() nie powiodło się."
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
-msgstr "io_new() nie powiodło się.\n"
+msgid "io_new() failed."
+msgstr "io_new() nie powiodło się."
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
-msgstr "pa_context_new() nie powiodło się.\n"
+#: ../src/utils/pacat.c:1058
+msgid "pa_context_new() failed."
+msgstr "pa_context_new() nie powiodło się."
-#: ../src/utils/pacat.c:1066
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
#, c-format
-msgid "pa_context_connect() failed: %s\n"
-msgstr "pa_context_connect() nie powiodło się: %s\n"
+msgid "pa_context_connect() failed: %s"
+msgstr "pa_context_connect() nie powiodło się: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() nie powiodło się.\n"
+#: ../src/utils/pacat.c:1072
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_rttime_new() nie powiodło się."
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
-msgstr "pa_mainloop_run() nie powiodło się.\n"
+#: ../src/utils/pacat.c:1079
+msgid "pa_mainloop_run() failed."
+msgstr "pa_mainloop_run() nie powiodło się."
#: ../src/utils/pasuspender.c:81
#, c-format
@@ -1719,6 +1570,11 @@ msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr ""
"OSTRZEŻENIE: serwer dźwięku nie jest lokalny, nie zostanie wstrzymany.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Połączenie nie powiodło się: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1758,6 +1614,21 @@ msgstr ""
"Skompilowane za pomocÄ… libpulse %s\n"
"Skonsolidowane za pomocÄ… libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() nie powiodło się.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() nie powiodło się.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() nie powiodło się.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1853,14 +1724,14 @@ msgstr ""
"\t\t%s\n"
#: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353
-#, fuzzy, c-format
+#, c-format
msgid "\tPorts:\n"
-msgstr "\tProfile:\n"
+msgstr "\tPorty:\n"
#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359
-#, fuzzy, c-format
+#, c-format
msgid "\tActive Port: %s\n"
-msgstr "\tAktywny profil: %s\n"
+msgstr "\tAktywny port: %s\n"
#: ../src/utils/pactl.c:290
#, c-format
@@ -2115,7 +1986,7 @@ msgid "Premature end of file\n"
msgstr "Przedwczesny koniec pliku\n"
#: ../src/utils/pactl.c:826
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options] stat\n"
"%s [options] list\n"
@@ -2154,6 +2025,8 @@ msgstr ""
"%s [opcje] suspend-sink [ODPÅYW] 1|0\n"
"%s [opcje] suspend-source [ŹRÓDÅO] 1|0\n"
"%s [opcje] set-card-profile [KARTA] [PROFIL] \n"
+"%s [opcje] set-sink-port [ODPÅYW] [PORT] \n"
+"%s [opcje] set-source-port [ŹRÓDÅO] [PORT] \n"
"\n"
" -h, --help Wyświetla tę pomoc\n"
" --version Wyświetla wersję\n"
@@ -2172,6 +2045,11 @@ msgstr ""
"Skompilowane za pomocÄ… libpulse %s\n"
"Skonsolidowane za pomocÄ… libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Nieprawidłowa nazwa klienta \"%s\"\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Proszę podać plik próbki do wczytania\n"
@@ -2180,6 +2058,10 @@ msgstr "Proszę podać plik próbki do wczytania\n"
msgid "Failed to open sound file.\n"
msgstr "Otwarcie pliku dźwiękowego nie powiodło się.\n"
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Ustalenie określenia próbki z pliku nie powiodło się.\n"
+
#: ../src/utils/pactl.c:951
msgid "Warning: Failed to determine sample specification from file.\n"
msgstr "Ostrzeżenie: ustalenie określenia próbki z pliku nie powiodło się.\n"
@@ -2227,24 +2109,17 @@ msgid "You have to specify a card name/index and a profile name\n"
msgstr "Należy podać nazwę karty/indeks i nazwę profilu\n"
#: ../src/utils/pactl.c:1073
-#, fuzzy
msgid "You have to specify a sink name/index and a port name\n"
-msgstr "Należy podać nazwę karty/indeks i nazwę profilu\n"
+msgstr "Należy podać nazwę odpływu/indeks i nazwę portu\n"
#: ../src/utils/pactl.c:1084
-#, fuzzy
msgid "You have to specify a source name/index and a port name\n"
-msgstr "Należy podać nazwę karty/indeks i nazwę profilu\n"
+msgstr "Należy podać nazwę źródła/indeks i nazwę portu\n"
#: ../src/utils/pactl.c:1099
msgid "No valid command specified.\n"
msgstr "Nie podano prawidłowego polecenia.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() nie powiodło się: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2363,11 +2238,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Nie można uzyskać dostępu do blokady automatycznego wznawiania."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2384,7 +2259,7 @@ msgstr ""
"Wybudzono za pomocą ustawienia POLLOUT - ale jednoczesne wywołanie "
"snd_pcm_avail() zwróciło zero lub inną wartość < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2402,15 +2277,15 @@ msgstr ""
"snd_pcm_avail() zwróciło zero lub inną wartość < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Wyłącz"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Odtwarzanie o wysokiej dokładności (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Duplex telefoniczny (HSP/HFP)"
@@ -2418,44 +2293,60 @@ msgstr "Duplex telefoniczny (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "Serwer dźwięku PulseAudio"
-#~ msgid "Analog Mono"
-#~ msgstr "Analogowe mono"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Nie można połączyć się z magistralą systemową: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Nie można uzyskać obiektu caller z PID: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Nie można ustawić UID obiektu caller."
-#~ msgid "Analog Stereo"
-#~ msgstr "Analogowe stereo"
+#~ msgid "Failed to get CK session."
+#~ msgstr "Uzyskanie sesji CK nie powiodło się."
-#~ msgid "Digital Stereo (IEC958)"
-#~ msgstr "Cyfrowe stereo (IEC958)"
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Nie można ustawić UID obiektowi sesji."
-#~ msgid "Digital Stereo (HDMI)"
-#~ msgstr "Cyfrowe stereo (HDMI)"
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Nie można przydzielić PolKitAction."
-#~ msgid "Analog Surround 4.0"
-#~ msgstr "Analogowe surround 4.0"
+#~ msgid "Cannot set action_id"
+#~ msgstr "Nie można ustawić action_id"
-#~ msgid "Digital Surround 4.0 (IEC958/AC3)"
-#~ msgstr "Cyfrowe surround 4.0 (IEC958/AC3)"
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Nie można przydzielić PolKitContext."
-#~ msgid "Analog Surround 4.1"
-#~ msgstr "Analogowe surround 4.1"
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Nie można zainicjować PolKitContext: %s"
-#~ msgid "Analog Surround 5.0"
-#~ msgstr "Analogowe surround 5.0"
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Nie można ustalić, czy obiekt caller jest upoważniony: %s"
-#~ msgid "Analog Surround 5.1"
-#~ msgstr "Analogowe surround 5.1"
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Nie można uzyskać upoważnienia: %s"
-#~ msgid "Digital Surround 5.1 (IEC958/AC3)"
-#~ msgstr "Cyfrowe surround 5.1 (IEC958/AC3)"
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit zwróciło \"%s\""
-#~ msgid "Analog Surround 7.1"
-#~ msgstr "Analogowe surround 7.1"
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Szeregowanie o wysokim priorytecie (ujemny poziom nice Uniksa) dla demona "
+#~ "PulseAudio"
-#~ msgid "Output %s + Input %s"
-#~ msgstr "Wyjście %s + wejście %s"
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Szeregowanie w czasie rzeczywistym dla demona PulseAudio"
-#~ msgid "Output %s"
-#~ msgstr "Wyjście %s"
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania o wysokim "
+#~ "priorytecie."
-#~ msgid "Input %s"
-#~ msgstr "Wejście %s"
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania w czasie "
+#~ "rzeczywistym."
diff --git a/po/pt.po b/po/pt.po
index b44d622d..e077d093 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Rui Gouveia <rui.gouveia@globaltek.pt>\n"
"Language-Team: pt <fedora-trans-pt@redhat.com>\n"
@@ -12,7 +12,12 @@ msgstr ""
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: PORTUGAL\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, fuzzy, c-format
+msgid "%s %s"
+msgstr "%s %s"
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -25,7 +30,7 @@ msgstr ""
"Provavelmente isto é um erro no driver ALSA '%s'. Por favor, reporte este "
"problema aos programadores do ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -38,7 +43,7 @@ msgstr ""
"Provavelmente isto é um erro no driver ALSA '%s'. Por favor, reporte este "
"problema aos programadores do ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -52,8 +57,9 @@ msgstr ""
"problema aos programadores do ALSA."
#: ../src/modules/module-ladspa-sink.c:49
+#, fuzzy
msgid "Virtual LADSPA sink"
-msgstr ""
+msgstr "Alarme virtual"
#: ../src/modules/module-ladspa-sink.c:53
msgid ""
@@ -64,7 +70,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Ãudio Interno"
@@ -84,220 +90,92 @@ msgstr "Não foi possível alocar o novo carregador \"dl\"."
msgid "Failed to add bind-now-loader."
msgstr "Não foi possível adicionar \"bind-now-loader\"."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Incapaz de se ligar ao bus de sistema: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Não foi possível obter chamador a partir do PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Não foi possível definir o UID no objecto chamador."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Falha ao obter sessão CK."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Não foi possível definir o UID no objecto da sessão."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Não é possível alocar PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "impossível definir action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Não é possível alocar contexto PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Incapaz de inicializar o PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Não foi possível determinar se o chamador está autorizado: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Não foi possível obter autenticação: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit respondeu com '%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Foi obtido o sinal %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "A sair."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Falha ao procurar o utilizador '%s'."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Falha ao procurar o grupo '%s'."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Foi encontrado utilizador '%s' (UID %lu) e grupo '%s' (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID do utilizador '%s' e do grupo '%s' não coincidem."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Directório pessoal do utilizador '%s' não é '%s'. A ignorar."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Falha ao criar o '%s': %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Falhou a alteração da lista de grupos: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Não foi possível mudar o GID: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Não foi possível mudar o UID: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Privilégios de root cedidos com sucesso."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Modo de sistema não suportado nesta plataforma."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) falhou: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Não foi possível processar linha de comando."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "Estamos no grupo '%s', permitindo escalonamento de alta-prioridade."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "Estamos no grupo '%s', permitindo escalonamento em tempo real."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr ""
-"O PolicyKit permite-nos o privilégio \"acquire-high-priority\" (adquirir "
-"alta prioridade)."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr ""
-"O PolicyKit recusa-nos o privilégio \"acquire-high-priority\" (adquirir alta "
-"prioridade)."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr ""
-"O PolicyKit permite-nos o privilégio \"acquire-real-time\" (adquirir tempo "
-"real)."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr ""
-"O PolicyKit recusa-nos o privilégio \"acquire-real-time\" (adquirir tempo "
-"real)."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Escalonamento de alta prioridade activo na configuração, mas não permitido "
-"pela politica."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO aumentado com sucesso"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO falhou: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "A desistir de CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Escalonamento em tempo real activo na configuração, mas não permitido pela "
-"politica."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Serviço não está a executar"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Serviço a executar como PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Tentativa de matar serviço falhou: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -305,154 +183,154 @@ msgstr ""
"Este programa não pretende ser executado como root (a não ser que a opção --"
"system seja especificada)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "São necessários privilégios de root."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start não é suportado para instâncias do sistema."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "A executar em modo de sistema, mas --disallow-exit não está definido!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"A executar em modo de sistema, mas --disallow-module-loading não está "
"definido!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "A executar em modo de sistema, a forçar a desactivação do modo SHM!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"A executar em modo de sistema, a forçar a desactivação da saída por "
"inactividade!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Não foi possível adquirir o stdio."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe falhou: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() falhou: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() falhou: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Arranque do serviço falhou."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Arranque do serviço sucedeu."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Isto é PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Máquina de compilação: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "CFLAGS utilizadas na compilação: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "A executar na máquina: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Foram encontrados %u CPUs."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Tamanho da página é %lu bytes"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Compilado com suporte para Valgrind: sim"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Compilado com suporte para Valgrind: não"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "A executar em modo \"valgrind\": %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimizado: sim"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Compilação optimizada: não"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG definido, todas as declarações desactivadas."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH definido, apenas as declarações \"fast path\" desactivadas."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Todas as declarações desactivadas."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "A tentativa de ler o ID da máquina falhou"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "O ID da máquina é %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
-msgstr "O ID da máquina é %s."
+msgstr "A sessão está fechada"
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Execução a utilizar o directório %s"
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "A manter o estado no directório %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Execução em modo de sistema: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -462,15 +340,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() falhou."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Timer \"frescos\" de alta resolução disponíveis. Bom apetite!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -478,32 +356,32 @@ msgstr ""
"Oh pá, o teu kernel não presta! O prato do dia recomendado é Linux com "
"timers de alta resolução activos!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() falhou."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Falha ao inicializar serviço."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Serviço arrancou sem módulos carregados. A recusar trabalhar."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Arranque do serviço completo."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Encerramento do serviço iniciado."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Serviço terminado."
#: ../src/daemon/cmdline.c:115
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options]\n"
"\n"
@@ -596,7 +474,7 @@ msgstr ""
"\n"
"OPTIONS:\n"
" --system[=BOOL] Executa em modo de sistema\n"
-" -D, --daemonize[=BOOL] Passa serviço depois de executar\n"
+" -D, --daemonize[=BOOL] Passa a serviço depois de executar\n"
" --fail[=BOOL] Termina quando o arranque falha\n"
" --high-priority[=BOOL] Tenta definir um alto nível de "
"execução\n"
@@ -647,15 +525,14 @@ msgstr ""
"partilhada.\n"
"\n"
"STARTUP SCRIPT:\n"
-" -L, --load=\"MODULE ARGUMENTS\" Load the specified plugin module "
-"with\n"
-" the specified argument\n"
-" -F, --file=FILENAME Run the specified script\n"
-" -C Open a command line on the running "
-"TTY\n"
-" after startup\n"
+" -L, --load=\"MODULE ARGUMENTS\" Carrega o módulo especificado com\n"
+" o argumento especificado\n"
+" -F, --file=FILENAME Executa o script especificado\n"
+" -C Abre uma linha de comando no TTY "
+"(consola) em execução\n"
+" depois do arranque\n"
"\n"
-" -n Don't load default script file\n"
+" -n Não carrega o script por omissão\n"
#: ../src/daemon/cmdline.c:247
msgid "--daemonize expects boolean argument"
@@ -760,9 +637,9 @@ msgid "Load Once: %s\n"
msgstr "Carregar Uma Vez: %s\n"
#: ../src/daemon/dumpmodules.c:75
-#, c-format
+#, fuzzy, c-format
msgid "DEPRECATION WARNING: %s\n"
-msgstr ""
+msgstr "Aviso de Impressão"
#: ../src/daemon/dumpmodules.c:79
#, c-format
@@ -780,9 +657,9 @@ msgid "[%s:%u] Invalid log level '%s'."
msgstr "[%s:%u] Nível do ficheiro de registo inválido '%s'."
#: ../src/daemon/daemon-conf.c:248
-#, c-format
+#, fuzzy, c-format
msgid "[%s:%u] Invalid resample method '%s'."
-msgstr ""
+msgstr "nome do método de acesso"
#: ../src/daemon/daemon-conf.c:271
#, c-format
@@ -800,19 +677,19 @@ msgid "[%s:%u] Invalid sample format '%s'."
msgstr "[%s:%u] Formato da amostra inválido '%s'."
#: ../src/daemon/daemon-conf.c:312
-#, c-format
+#, fuzzy, c-format
msgid "[%s:%u] Invalid sample rate '%s'."
-msgstr ""
+msgstr "Taxa de amostragem em kHz"
#: ../src/daemon/daemon-conf.c:336
-#, c-format
+#, fuzzy, c-format
msgid "[%s:%u] Invalid sample channels '%s'."
-msgstr ""
+msgstr "Número de canais de audio"
#: ../src/daemon/daemon-conf.c:354
-#, c-format
+#, fuzzy, c-format
msgid "[%s:%u] Invalid channel map '%s'."
-msgstr ""
+msgstr "Activar mapa de _radar"
#: ../src/daemon/daemon-conf.c:372
#, c-format
@@ -839,20 +716,18 @@ msgid ""
"The specified default channel map has a different number of channels than "
"the specified default number of channels."
msgstr ""
+"O mapa de canais especificado tem um número de canais diferente do número de "
+"canais definido por omissão."
#: ../src/daemon/daemon-conf.c:616
#, c-format
msgid "### Read from configuration file: %s ###\n"
msgstr "### Ler configuração a partir do ficheiro: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "A largar privilégios de root."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr ""
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "Sistema de Som PulseAudio"
@@ -861,24 +736,6 @@ msgstr "Sistema de Som PulseAudio"
msgid "Start the PulseAudio Sound System"
msgstr "Inciar o Sistema de Som PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1251,183 +1108,187 @@ msgstr "Não foi possível processar dados da cookie"
msgid "Failed to open configuration file '%s': %s"
msgstr "Falha ao abrir ficheiro de configuração '%s': %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Nenhuma cookie carregada. A tentar ligar sem cookie."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Recebida mensagem para extensão desconhecida '%s'"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Falhou ao esvaziar fluxo: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
-msgstr ""
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
+msgstr "O álbum do fluxo actual."
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
-msgstr ""
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
+msgstr "Ligação ao Servidor Recusada"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() falhou: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() falhou: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() falhou: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Fluxo criado com sucesso.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() falhou: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Métricas do Buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Métricas do Buffer: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
-msgstr ""
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
+msgstr "Utilizando especificação da amostra '%s'\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "Ligado ao dispositivo %s (%u, %ssuspended).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Erro de fluxo: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
-msgstr ""
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
+msgstr "Nenhum dispositivo configurado"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
-msgstr ""
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
+msgstr "Nenhum dispositivo configurado"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Fluxo com falta de dados.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Fluxo com excesso de dados.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Fluxo iniciado.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
-msgstr ""
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
+msgstr "Ligado ao dispositivo %s (%u, %ssuspended).\n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "negação"
-#: ../src/utils/pacat.c:378
+#: ../src/utils/pacat.c:383
#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+msgid "Stream buffer attributes changed.%s"
msgstr ""
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Ligação Estabelecida.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() falhou: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() falhou: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() falhou: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Ligação falhou: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Obtive EOF.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() falhou: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "Obtive EOF.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() falhou: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Recebido sinal, a sair.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Falhou a obtenção da latência: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Tempo: %0.3f sec; Latency: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() falhou: %s\n"
#: ../src/utils/pacat.c:605
@@ -1497,97 +1358,104 @@ msgid ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
msgstr ""
+"pacat %s\n"
+"Compilado com libpulse %s\n"
+"Ligado com libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
-msgstr "Método de resample inválido '%s'."
+msgid "Invalid client name '%s'"
+msgstr "Nome de máquina inválido"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
-msgstr "Método de resample inválido '%s'."
+msgid "Invalid stream name '%s'"
+msgstr "Nome de máquina inválido"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
+msgstr "Mapa de canais inválido '%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Especificação da latência inválida '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
+msgstr "Especificação da infra-estrutura da impressora inválida: %1"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
-msgstr "Método de resample inválido '%s'."
+msgid "Invalid property '%s'"
+msgstr "Tipo de propriedade inválido %s para propriedade %s"
#: ../src/utils/pacat.c:878
-#, c-format
+#, fuzzy, c-format
msgid "Unknown file format %s."
-msgstr ""
+msgstr "Formato de ficheiro desconhecido"
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Especificação da amostra inválida\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "demasiados argumentos.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "não foi possível obter informações da amostra: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
-msgstr "Falha ao abrir ficheiro de som.\n"
+msgid "Failed to open audio file."
+msgstr "Falha ao abrir ficheiro temporário"
#: ../src/utils/pacat.c:956
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
+"specification from file."
msgstr ""
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "não foi possível obter informações da amostra: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "não foi possível obter informações da amostra: %s\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
-msgstr ""
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
+msgstr "Mapa de canais não corresponde com ficheiro.\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
+msgid "Warning: failed to write channel map to file."
msgstr ""
#: ../src/utils/pacat.c:1005
#, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr ""
#: ../src/utils/pacat.c:1006
@@ -1598,35 +1466,34 @@ msgstr "a gravar"
msgid "playback"
msgstr "reprodução"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() falhou.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() falhou.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() falhou.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() falhou: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() falhou.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "não foi possível obter o novo contexto.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() falhou.\n"
#: ../src/utils/pasuspender.c:81
@@ -1654,6 +1521,11 @@ msgstr "Falhou ao restaurar: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "Atenção: Servidor de Som não local, suspender ignorado.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Ligação falhou: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1684,6 +1556,21 @@ msgid ""
"Linked with libpulse %s\n"
msgstr ""
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() falhou.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() falhou.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() falhou.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1758,7 +1645,7 @@ msgstr "\tPrefis:\n"
#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359
#, fuzzy, c-format
msgid "\tActive Port: %s\n"
-msgstr "\tPerfil Activo: %s\n"
+msgstr "MÃQUINA:PORTO"
#: ../src/utils/pactl.c:290
#, c-format
@@ -1853,9 +1740,10 @@ msgid "\tActive Profile: %s\n"
msgstr "\tPerfil Activo: %s\n"
#: ../src/utils/pactl.c:489
-#, c-format
+#, fuzzy, c-format
msgid "Failed to get sink input information: %s\n"
msgstr ""
+"Não foi possível obter informações sobre o Método de Introdução de Dados"
#: ../src/utils/pactl.c:508
#, c-format
@@ -1976,6 +1864,11 @@ msgstr ""
"Compilado com libpulse %s\n"
"Linkado com libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Nome de máquina inválido"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Por favor, especifique um ficheiro de amostra para carregar\n"
@@ -1984,6 +1877,11 @@ msgstr "Por favor, especifique um ficheiro de amostra para carregar\n"
msgid "Failed to open sound file.\n"
msgstr "Falha ao abrir ficheiro de som.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "não foi possível obter informações da amostra: %s\n"
+
#: ../src/utils/pactl.c:951
msgid "Warning: Failed to determine sample specification from file.\n"
msgstr ""
@@ -2046,11 +1944,6 @@ msgstr "Tem de especificar um nome/índice de carta e um nome de perfil\n"
msgid "No valid command specified.\n"
msgstr "O comando especificado é inválido.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() falhou: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2160,11 +2053,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Impossível aceder ao lock \"autospawn\"."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2181,7 +2074,7 @@ msgstr ""
"Fomos acordados pelo conjunto POLLOUT -- contudo uma chamada a seguir de "
"snd_pcm_avail() retornou 0 ou outro valor < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2199,15 +2092,15 @@ msgstr ""
"snd_pcm_avail() retornou 0 ou outro valor < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "Desligado"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Reprodução Alta Fidelidade (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Telefonia Duplex (HSP/HFP)"
@@ -2215,6 +2108,71 @@ msgstr "Telefonia Duplex (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "Servidor de Som PulseAudio"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Incapaz de se ligar ao bus de sistema: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Não foi possível obter chamador a partir do PID: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Não foi possível definir o UID no objecto chamador."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Falha ao obter sessão CK."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Não foi possível definir o UID no objecto da sessão."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Não é possível alocar PolKitAction."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "impossível definir action_id"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Não é possível alocar contexto PolKitContext."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Incapaz de inicializar o PolKitContext: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Não foi possível determinar se o chamador está autorizado: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Não foi possível obter autenticação: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit respondeu com '%s'"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Escalonamento de alta-prioridade (nível 'nice' negativo em Unix) para o "
+#~ "serviço PulseAudio"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Escalonamento em tempo-real para o serviço PulseAudio"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Politica do sistema impede o PulseAudio de obter escalonamento de alta-"
+#~ "prioridade."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "Politica do sistema impede o PulseAudio de obter escalonamento de tempo-"
+#~ "real."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() falhou: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "Impossível ligar ao servidor."
+
#~ msgid "Analog Mono"
#~ msgstr "Mono Analógico"
@@ -2248,6 +2206,60 @@ msgstr "Servidor de Som PulseAudio"
#~ msgid "Analog Surround 7.1"
#~ msgstr "Analog Surround 7.1"
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "Estamos no grupo '%s', permitindo escalonamento de alta-prioridade."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "Estamos no grupo '%s', permitindo escalonamento em tempo real."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr ""
+#~ "O PolicyKit permite-nos o privilégio \"acquire-high-priority\" (adquirir "
+#~ "alta prioridade)."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr ""
+#~ "O PolicyKit recusa-nos o privilégio \"acquire-high-priority\" (adquirir "
+#~ "alta prioridade)."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr ""
+#~ "O PolicyKit permite-nos o privilégio \"acquire-real-time\" (adquirir "
+#~ "tempo real)."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr ""
+#~ "O PolicyKit recusa-nos o privilégio \"acquire-real-time\" (adquirir tempo "
+#~ "real)."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "Escalonamento de alta prioridade activo na configuração, mas não "
+#~ "permitido pela politica."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO aumentado com sucesso"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO falhou: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "A desistir de CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "Escalonamento em tempo real activo na configuração, mas não permitido "
+#~ "pela politica."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "Capacidades limitadas com sucesso em CAP_SYS_NICE."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() falhou.\n"
+
#~ msgid "Stream successfully created\n"
#~ msgstr "Fluxo criado com sucesso\n"
@@ -2266,12 +2278,12 @@ msgstr "Servidor de Som PulseAudio"
#~ "Compilado com libpulse %s\n"
#~ "Linkado com libpulse %s\n"
+#~ msgid "Invalid channel map\n"
+#~ msgstr "Mapa de canais inválido\n"
+
#~ msgid "Failed to open file '%s'\n"
#~ msgstr "Falha ao abrir o ficheiro '%s'\n"
-#~ msgid "Using sample spec '%s'\n"
-#~ msgstr "Utilizando especificação da amostra '%s'\n"
-
#~ msgid "Output %s + Input %s"
#~ msgstr "Saída %s + Entrada %s"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index fd4f5391..323e5b94 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,498 +1,367 @@
-# Brazilian Translation of PulseAudio
-# Copyright (C) 2008 pulseaudio
+# Brazilian Portuguese translation of PulseAudio
+# Copyright (C) 2008,2009 pulseaudio
# This file is distributed under the same license as the pulseaudio package.
# Fabian Affolter <fab@fedoraproject.org>, 2008.
+# Igor Pires Soares <igor@projetofedora.org>, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
-"PO-Revision-Date: 2008-11-21 01:21-0300\n"
-"Last-Translator: Henrique (LonelySpooky) Junior <lspooky@fedoraproject.org>\n"
+"POT-Creation-Date: 2009-08-08 14:46+0000\n"
+"PO-Revision-Date: 2009-08-08 19:02-0300\n"
+"Last-Translator: Igor Pires Soares <igor@projetofedora.org>\n"
"Language-Team: Brazilian-Portuguese <fedora-trans-pt_br@redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Poedit-Language: Brazilian Portuguese\n"
+"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: Brazil\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775
+#: ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr "%s %s"
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
-"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
-"ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers."
+"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
msgstr ""
+"O snd_pcm_avail() retornou um valor que é excepcionalmente grande: %lu bytes (%lu ms).\n"
+"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema aos desenvolvedores do ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
-"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
-"lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers."
+"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
msgstr ""
+"O snd_pcm_delay() retornou um valor que é excepcionalmente grande: %li bytes (%s%lu ms).\n"
+"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema aos desenvolvedores do ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
-"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
-"(%lu ms).\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers."
+"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes (%lu ms).\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."
msgstr ""
+"O snd_pcm_mmap_begin() retornou um valor que é excepcionalmente grande: %lu bytes (%lu ms).\n"
+"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema aos desenvolvedores do ALSA."
#: ../src/modules/module-ladspa-sink.c:49
msgid "Virtual LADSPA sink"
-msgstr ""
+msgstr "Destino Virtual LADSPA"
#: ../src/modules/module-ladspa-sink.c:53
-msgid ""
-"sink_name=<name for the sink> sink_properties=<properties for the sink> "
-"master=<name of sink to filter> format=<sample format> rate=<sample rate> "
-"channels=<number of channels> channel_map=<channel map> plugin=<ladspa "
-"plugin name> label=<ladspa plugin label> control=<comma seperated list of "
-"input control values>"
-msgstr ""
+msgid "sink_name=<name for the sink> sink_properties=<properties for the sink> master=<name of sink to filter> format=<sample format> rate=<sample rate> channels=<number of channels> channel_map=<channel map> plugin=<ladspa plugin name> label=<ladspa plugin label> control=<comma seperated list of input control values>"
+msgstr "sink_name=<nome do destino> sink_properties=<propriedades do destino> master=<nome do destino a ser filtrado> format=<formato de amostragem> rate=<taxa da amostragem> channels=<número de canais> channel_map=<mapa dos canais> plugin=<nome do plugin ladspa> label=<rótulo do plugin ladspa> control=<lista separada por vírgulas dos valores de controle da entrada>"
-#: ../src/pulsecore/sink.c:2394
-#, fuzzy
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
-msgstr "Erro interno"
+msgstr "Ãudio interno"
#: ../src/pulsecore/sink.c:2400
msgid "Modem"
-msgstr ""
+msgstr "Modem"
#: ../src/daemon/ltdl-bind-now.c:124
-#, fuzzy
msgid "Failed to find original lt_dlopen loader."
-msgstr "Falha em encontrar o carregador original dlopen"
+msgstr "Falha ao localizar o carregador original lt_dlopen."
#: ../src/daemon/ltdl-bind-now.c:129
-#, fuzzy
msgid "Failed to allocate new dl loader."
-msgstr "Falha em encontrar o carregador original dlopen"
+msgstr "Falha ao alocar o novo carregador dl."
#: ../src/daemon/ltdl-bind-now.c:142
msgid "Failed to add bind-now-loader."
msgstr "Falha em adicionar o bind-now-loader."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Não foi possível conectar com o barramento do sistema: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Não foi possível obter quem chamou pelo PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Não foi possível definir o UID sobre o objeto que chamou."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Falha em obter a sessão CK."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Não foi possível definir o UID do objeto da sessão."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Não foi possível alocar o PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Não foi possível definir a action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Não foi possível alocar o PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Não foi possível iniciar o PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Não foi possível determinar se o solicitante está autorizado: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Não foi possível obter auth: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit respondeu com '%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Sinal %s recebido."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Saindo."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Falha em encontrar o usuário '%s'."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Falha em encontrar o grupo '%s'."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Usuário '%s' (UID %lu) e grupo '%s' (GID %lu) encontrados."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "O GID do usuário'%s' e do grupo '%s' não combinam."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "O diretório Home do usuário '%s' não é '%s', ignorando."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212
+#: ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Falha em criar '%s': %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Falha em alterar a lista de grupos: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Falha em mudar o GID: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Falha em mudar o UID: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Os privilégios do root foram retirados com sucesso."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "O modo ampliado do sistema não tem suporte nessa plataforma."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) falhou: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Falha em interpretar a linha de comando."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "Estamos no grupo '%s', permitindo escalonamento de alta prioridade."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "Estamos no grupo '%s', permitindo escalonamento em tempo real."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "O PolicyKit assegura-nos a aquisição de privilégio de alta prioridade."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "O PolicyKit recusa a aquisição de privilégios de alta prioridade."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "O PolicyKit assegura-nos a aquisição de privilégios de tempo-real."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "O PolicyKit recusa a aquisição de privilégios de tempo real."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"O escalonamento de alta prioridade foi habilitado para esta configuração, "
-"mas não é permitida pela política."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "RLIMIT_RTPRIO aumentado com sucesso"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO falhou: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Abandonando CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"O escalonamento de tempo real foi habilitado pela configuração, mas não é "
-"permitido pela política."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "O daemon não está em execução"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Daemon executando como PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Falha em encerrar o daemon: %s"
-#: ../src/daemon/main.c:722
-msgid ""
-"This program is not intended to be run as root (unless --system is "
-"specified)."
-msgstr ""
-"Este programa não é para ser executado como root (a não ser que --system "
-"seja especificado)."
+#: ../src/daemon/main.c:568
+msgid "This program is not intended to be run as root (unless --system is specified)."
+msgstr "Este programa não é para ser executado como root (a não ser que --system seja especificado)."
-#: ../src/daemon/main.c:724
-#, fuzzy
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
-msgstr "Privilégios de rot são requeridos."
+msgstr "Privilégios de root requeridos."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start não tem suporte para instâncias de sistemas."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "Executando em no modo system, mas --disallow-exit não foi configurado!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
-msgstr ""
-"Executando no modo system, mas --disallow-module-loading não foi configurado!"
+msgstr "Executando no modo system, mas --disallow-module-loading não foi configurado!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "Executando no modo system, desabilitando forçadamente o modo SHM!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
-msgstr ""
-"Executando no modo system, desabilitando forçadamente o exit idle time!"
+msgstr "Executando no modo system, desabilitando forçadamente o exit idle time!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Falha em adquirir o stdio."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "O pipe falhou: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "O fork() falhou: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643
+#: ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "A operação read() falhou: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Falha na partida do daemon."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Os daemons foram iniciados com sucesso."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Este é o PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Host de compilação: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "Compilação CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Executando no host: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
-msgstr ""
+msgstr "%u CPUs localizadas."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "O tamanho da página é %lu bytes"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Compilado com suporte do Valgrind: sim"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Compilado com suporte do Valgrind: não"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Executando em modo valgrind: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Build otimizado: sim"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Build otimizado: não"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
-msgstr ""
+msgstr "NDEBUG definido, todas as declarações desabilitadas."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
-msgstr ""
+msgstr "FASTPATH definido, somente as declarações do \"fast path\" foram desabilitadas."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
-msgstr ""
+msgstr "Todas as declarações habilitadas."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Falha em obter o ID da máquina"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "A ID da máquina é %s."
-#: ../src/daemon/main.c:917
-#, fuzzy, c-format
+#: ../src/daemon/main.c:770
+#, c-format
msgid "Session ID is %s."
-msgstr "A ID da máquina é %s."
+msgstr "O ID da sessão é %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Usando o diretório de runtime %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Usando o diretório de estado %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Executando em modo do sistema: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
-"OK, so you are running PA in system mode. Please note that you most likely "
-"shouldn't be doing that.\n"
-"If you do it nonetheless then it's your own fault if things don't work as "
-"expected.\n"
-"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an "
-"explanation why system mode is usually a bad idea."
+"OK, so you are running PA in system mode. Please note that you most likely shouldn't be doing that.\n"
+"If you do it nonetheless then it's your own fault if things don't work as expected.\n"
+"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an explanation why system mode is usually a bad idea."
msgstr ""
+"OK, então você está executando o PA no modo de sistema. Por favor, note que é mais provável que você não deveria estar fazendo isso.\n"
+"Todavia, se você o fizer, então a culpa será sua se as coisas não funcionarem como esperado.\n"
+"Por favor, leia o http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode para obter um explicação sobre porque o modo de sistema é uma má idéia."
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() falhou."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Timers de alta resolução frequinhos disponíveis! Bon appetit!"
-#: ../src/daemon/main.c:963
-msgid ""
-"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
-"resolution timers enabled!"
-msgstr ""
-"Cara, teu kernel fede! A recomendação do chef hoje é Linux com timers de "
-"alta resolução habilitados!"
+#: ../src/daemon/main.c:816
+msgid "Dude, your kernel stinks! The chef's recommendation today is Linux with high-resolution timers enabled!"
+msgstr "Cara, teu kernel fede! A recomendação do chef hoje é Linux com timers de alta resolução habilitados!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() falhou."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Falha em iniciar o daemon."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
-msgstr ""
-"O Daemon iniciou sem qualquer módulo carregado, recusando-se a trabalhar."
+msgstr "O Daemon iniciou sem qualquer módulo carregado, recusando-se a trabalhar."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "A partida dos Daemon está completa."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "O encerramento do Daemon foi iniciado."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Daemon terminado."
#: ../src/daemon/cmdline.c:115
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options]\n"
"\n"
@@ -502,48 +371,37 @@ msgid ""
" --dump-conf Dump default configuration\n"
" --dump-modules Dump list of available modules\n"
" --dump-resample-methods Dump available resample methods\n"
-" --cleanup-shm Cleanup stale shared memory "
-"segments\n"
-" --start Start the daemon if it is not "
-"running\n"
+" --cleanup-shm Cleanup stale shared memory segments\n"
+" --start Start the daemon if it is not running\n"
" -k --kill Kill a running daemon\n"
-" --check Check for a running daemon (only "
-"returns exit code)\n"
+" --check Check for a running daemon (only returns exit code)\n"
"\n"
"OPTIONS:\n"
" --system[=BOOL] Run as system-wide instance\n"
" -D, --daemonize[=BOOL] Daemonize after startup\n"
" --fail[=BOOL] Quit when startup fails\n"
" --high-priority[=BOOL] Try to set high nice level\n"
-" (only available as root, when SUID "
-"or\n"
+" (only available as root, when SUID or\n"
" with elevated RLIMIT_NICE)\n"
" --realtime[=BOOL] Try to enable realtime scheduling\n"
-" (only available as root, when SUID "
-"or\n"
+" (only available as root, when SUID or\n"
" with elevated RLIMIT_RTPRIO)\n"
-" --disallow-module-loading[=BOOL] Disallow module user requested "
-"module\n"
+" --disallow-module-loading[=BOOL] Disallow module user requested module\n"
" loading/unloading after startup\n"
" --disallow-exit[=BOOL] Disallow user requested exit\n"
-" --exit-idle-time=SECS Terminate the daemon when idle and "
-"this\n"
+" --exit-idle-time=SECS Terminate the daemon when idle and this\n"
" time passed\n"
-" --module-idle-time=SECS Unload autoloaded modules when idle "
-"and\n"
+" --module-idle-time=SECS Unload autoloaded modules when idle and\n"
" this time passed\n"
-" --scache-idle-time=SECS Unload autoloaded samples when idle "
-"and\n"
+" --scache-idle-time=SECS Unload autoloaded samples when idle and\n"
" this time passed\n"
" --log-level[=LEVEL] Increase or set verbosity level\n"
" -v Increase the verbosity level\n"
" --log-target={auto,syslog,stderr} Specify the log target\n"
-" --log-meta[=BOOL] Include code location in log "
-"messages\n"
+" --log-meta[=BOOL] Include code location in log messages\n"
" --log-time[=BOOL] Include timestamps in log messages\n"
" --log-backtrace=FRAMES Include a backtrace in log messages\n"
-" -p, --dl-search-path=PATH Set the search path for dynamic "
-"shared\n"
+" -p, --dl-search-path=PATH Set the search path for dynamic shared\n"
" objects (plugins)\n"
" --resample-method=METHOD Use the specified resampling method\n"
" (See --dump-resample-methods for\n"
@@ -554,12 +412,10 @@ msgid ""
" --disable-shm[=BOOL] Disable shared memory support.\n"
"\n"
"STARTUP SCRIPT:\n"
-" -L, --load=\"MODULE ARGUMENTS\" Load the specified plugin module "
-"with\n"
+" -L, --load=\"MODULE ARGUMENTS\" Load the specified plugin module with\n"
" the specified argument\n"
" -F, --file=FILENAME Run the specified script\n"
-" -C Open a command line on the running "
-"TTY\n"
+" -C Open a command line on the running TTY\n"
" after startup\n"
"\n"
" -n Don't load default script file\n"
@@ -570,74 +426,56 @@ msgstr ""
" -h, --help Mostra esta ajuda\n"
" --version Mostra a versão\n"
" --dump-conf Descarrega a configuração padrão\n"
-" --dump-modules Descarrega a lista de módulos "
-"disponíveis\n"
-" --dump-resample-methods Descarrega os métodos de "
-"reamostragem (resample)\n"
-" --cleanup-shm Limpa os segmentos de memória "
-"compartilhados\n"
-" --start Inicia o daemon se ele não estiver "
-"em execução\n"
+" --dump-modules Descarrega a lista de módulos disponíveis\n"
+" --dump-resample-methods Descarrega os métodos de reamostragem\n"
+" --cleanup-shm Limpa os segmentos de memória compartilhados\n"
+" --start Inicia o daemon se ele não estiver em execução\n"
" -k --kill Encerra um daemon em execução\n"
-" --check Verifica um daemon em execução\n"
+" --check Verifica se há um daemon em execução (somente retorna o código de saída)\n"
"\n"
"OPÇÕES:\n"
-" --system[=BOOL] Executa como uma instância do "
-"sistema em escala ampla \n"
-" -D, --daemonize[=BOOL] Torna um daemom (daemonize) depois "
-"da partida\n"
+" --system[=BOOL] Executa como uma instância do sistema em escala ampla\n"
+" -D, --daemonize[=BOOL] Torna-se um daemom após o início\n"
" --fail[=BOOL] Sai quando a partida falha\n"
" --high-priority[=BOOL] Tenta definir um nível alto de nice\n"
" (disponível apenas, quando SUID ou\n"
" com RLIMIT_NICE) elevado\n"
-" --realtime[=BOOL] Tenta habilidar o escalonamento em "
-"tempo real\n"
-" (disponível apenas como root, quando "
-"SUID ou\n"
+" --realtime[=BOOL] Tenta habilitar o escalonamento em tempo real\n"
+" (disponível apenas como root, quando SUID ou\n"
" com RLIMIT_RTPRIO) elevado\n"
-" --disallow-module-loading[=BOOL] Não permite carga/descarga de módulo "
-"requerido pelo usuário\n"
+" --disallow-module-loading[=BOOL] Não permite carga/descarga de módulo requerido pelo usuário\n"
" depois da partida\n"
-" --disallow-exit[=BOOL] Não permite saída requisitada pelo "
-"usuário\n"
-" --exit-idle-time=SECS Termina um daemon quando ocioso e "
-"este\n"
-" tempo foi decorrido\n"
-" --module-idle-time=SECS Descarrega os modulos "
-"autocarregáveis quando ociosos e\n"
+" --disallow-exit[=BOOL] Não permite saída requisitada pelo usuário\n"
+" --exit-idle-time=SECS Termina um daemon quando ocioso e este\n"
" tempo foi decorrido\n"
-" --scache-idle-time=SECS Descarrega amostras quando ociosas "
-"e\n"
-" este tempo tenha passado\n"
-" --log-level[=LEVEL] Aumenta ou define o grau de "
-"verbosidade\n"
-" -v Aumenta o nível de verbosidade\n"
-" --log-target={auto,syslog,stderr} Especifica o alvo do log\n"
-" -p, --dl-search-path=PATH Define o caminho de busca (search "
-"paht)para objetos (plugins)\n"
-" dinamicamente commpartilhados\n"
-" --resample-method=METHOD Usa o método de reamostragem "
-"especificado\n"
+" --module-idle-time=SECS Descarrega os módulos autocarregáveis quando ociosos e\n"
+" este tempo foi decorrido\n"
+" --scache-idle-time=SECS Descarrega amostras quando ociosas e\n"
+" este tempo foi decorrido\n"
+" --log-level[=LEVEL] Aumenta ou define o grau de detalhamento\n"
+" -v Aumenta o nível de detalhamento\n"
+" --log-target={auto,syslog,stderr} Especifica o destino do log\n"
+" --log-meta[=BOOL] Inclui a localização do código na mensagem de log\n"
+" --log-time[=BOOL] Inclui carimbos de hora nas mensagens de log\n"
+" --log-backtrace=FRAMES Inclui um backtrace na mensagem de log\n"
+" -p, --dl-search-path=PATH Define o caminho de pesquisa para objetos (plugins)\n"
+" dinamicamente compartilhados\n"
+" --resample-method=METHOD Usa o método de reamostragem especificado\n"
" (Veja --dump-resample-methods para\n"
" valores possíveis)\n"
-" --use-pid-file[=BOOL] Cria um arquivo PID file\n"
-" --no-cpu-limit[=BOOL] Não instala um limitador de carga de "
-"CPU load em\n"
+" --use-pid-file[=BOOL] Cria um arquivo PID\n"
+" --no-cpu-limit[=BOOL] Não instala um limitador de carga de CPU em\n"
" plataformas que o suportem.\n"
-" --disable-shm[=BOOL] Desabilita o suporte a memória "
-"compartilhada.\n"
+" --disable-shm[=BOOL] Desabilita o suporte à memória compartilhada.\n"
"\n"
-"STARTUP SCRIPT:\n"
-" -L, --load=\"MODULE ARGUMENTS\" Carrega um plugin especificado "
-"com\n"
+"SCRIPT DE INÃCIO:\n"
+" -L, --load=\"ARGUMENTOS DO MÓDULO\" Carrega um plugin especificado com\n"
" o argumento especificado\n"
-" -F, --file=FILENAME Executa o script especificado\n"
-" -C Abre uma linha de comando no TTY em "
-"execução\n"
+" -F, --file=NOME_DO_ARQUIVO Executa o script especificado\n"
+" -C Abre uma linha de comando no TTY em execução\n"
" depois da partida\n"
"\n"
-" -n Não carrega o arquivo de script "
-"padrão\n"
+" -n Não carrega o arquivo de script padrão\n"
#: ../src/daemon/cmdline.c:247
msgid "--daemonize expects boolean argument"
@@ -648,12 +486,8 @@ msgid "--fail expects boolean argument"
msgstr "--fail espera argumento booleano"
#: ../src/daemon/cmdline.c:264
-msgid ""
-"--log-level expects log level argument (either numeric in range 0..4 or one "
-"of debug, info, notice, warn, error)."
-msgstr ""
-"--log-level espera um argumento em nível de log (seja numérico na faixa de "
-"0..4 seja algum entre debug, info, notice, warn, error)."
+msgid "--log-level expects log level argument (either numeric in range 0..4 or one of debug, info, notice, warn, error)."
+msgstr "--log-level espera um argumento em nível de log (seja numérico na faixa de 0..4 seja algum entre debug, info, notice, warn, error)."
#: ../src/daemon/cmdline.c:276
msgid "--high-priority expects boolean argument"
@@ -668,9 +502,8 @@ msgid "--disallow-module-loading expects boolean argument"
msgstr "--disallow-module-loading espera um argumento booleano"
#: ../src/daemon/cmdline.c:297
-#, fuzzy
msgid "--disallow-exit expects boolean argument"
-msgstr "--disallow-exit argumento booleano"
+msgstr "--disallow-exit espera um argumento booleano"
#: ../src/daemon/cmdline.c:304
msgid "--use-pid-file expects boolean argument"
@@ -681,14 +514,12 @@ msgid "Invalid log target: use either 'syslog', 'stderr' or 'auto'."
msgstr "Log target inválido: use 'syslog', 'stderr' ou 'auto'."
#: ../src/daemon/cmdline.c:328
-#, fuzzy
msgid "--log-time expects boolean argument"
-msgstr "--realtime espera um argumento booleano"
+msgstr "--log-time espera um argumento booleano"
#: ../src/daemon/cmdline.c:335
-#, fuzzy
msgid "--log-meta expects boolean argument"
-msgstr "--disallow-exit argumento booleano"
+msgstr "--log-meta espera um argumento booleano"
#: ../src/daemon/cmdline.c:354
#, c-format
@@ -745,7 +576,7 @@ msgstr "Carrega uma vez: %s\n"
#: ../src/daemon/dumpmodules.c:75
#, c-format
msgid "DEPRECATION WARNING: %s\n"
-msgstr ""
+msgstr "AVISO DE OBSOLESCÊNCIA: %s\n"
#: ../src/daemon/dumpmodules.c:79
#, c-format
@@ -793,9 +624,9 @@ msgid "[%s:%u] Invalid sample channels '%s'."
msgstr "[%s:%u] Canais de amostragem inválidos'%s'."
#: ../src/daemon/daemon-conf.c:354
-#, fuzzy, c-format
+#, c-format
msgid "[%s:%u] Invalid channel map '%s'."
-msgstr "[%s:%u] Canais de amostragem inválidos'%s'."
+msgstr "[%s:%u] Mapa de canais \"%s\" inválido."
#: ../src/daemon/daemon-conf.c:372
#, c-format
@@ -818,54 +649,28 @@ msgid "Failed to open configuration file: %s"
msgstr "Falha em abrir o arquivo de configuração: %s"
#: ../src/daemon/daemon-conf.c:540
-msgid ""
-"The specified default channel map has a different number of channels than "
-"the specified default number of channels."
-msgstr ""
+msgid "The specified default channel map has a different number of channels than the specified default number of channels."
+msgstr "O mapa padrão dos canais especificado tem um número diferente de canais do que o número de canais padrão especificado."
#: ../src/daemon/daemon-conf.c:616
#, c-format
msgid "### Read from configuration file: %s ###\n"
msgstr "### Lido do arquivo de configuração: %s ###\n"
-#: ../src/daemon/caps.c:63
-#, fuzzy
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Descartando os privilégios de root."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "As capacidades foram limitadas com sucesso para CAP_SYS_NICE."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
-msgstr ""
+msgstr "Sistema de som PulseAudio"
#: ../src/daemon/pulseaudio.desktop.in.h:2
msgid "Start the PulseAudio Sound System"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-#, fuzzy
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Falha em cancelar o daemon do PulseAudio."
+msgstr "Iniciar o sistema de som PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-#, fuzzy
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "Estamos no grupo '%s', permitindo escalonamento de alta prioridade."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-
-#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
+#: ../src/pulse/channelmap.c:105
+#: ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1069,35 +874,38 @@ msgstr "Posterior Superior Esquerdo"
msgid "Top Rear Right"
msgstr "Posterior Superior Direito"
-#: ../src/pulse/channelmap.c:478 ../src/pulse/sample.c:167
-#: ../src/pulse/volume.c:239 ../src/pulse/volume.c:265
-#: ../src/pulse/volume.c:285 ../src/pulse/volume.c:315
+#: ../src/pulse/channelmap.c:478
+#: ../src/pulse/sample.c:167
+#: ../src/pulse/volume.c:239
+#: ../src/pulse/volume.c:265
+#: ../src/pulse/volume.c:285
+#: ../src/pulse/volume.c:315
msgid "(invalid)"
msgstr "(Inválido)"
#: ../src/pulse/channelmap.c:751
msgid "Stereo"
-msgstr ""
+msgstr "Stereo"
#: ../src/pulse/channelmap.c:756
msgid "Surround 4.0"
-msgstr ""
+msgstr "Surround 4.0"
#: ../src/pulse/channelmap.c:762
msgid "Surround 4.1"
-msgstr ""
+msgstr "Surround 4.1"
#: ../src/pulse/channelmap.c:768
msgid "Surround 5.0"
-msgstr ""
+msgstr "Surround 5.0"
#: ../src/pulse/channelmap.c:774
msgid "Surround 5.1"
-msgstr ""
+msgstr "Surround 5.1"
#: ../src/pulse/channelmap.c:781
msgid "Surround 7.1"
-msgstr ""
+msgstr "Surround 7.1"
#: ../src/pulse/error.c:43
msgid "OK"
@@ -1189,42 +997,43 @@ msgstr "Não existe tal extensão"
#: ../src/pulse/error.c:65
msgid "Obsolete functionality"
-msgstr ""
+msgstr "Funcionalidade obsoleta"
#: ../src/pulse/error.c:66
msgid "Missing implementation"
-msgstr ""
+msgstr "Implementação faltando"
#: ../src/pulse/error.c:67
msgid "Client forked"
-msgstr ""
+msgstr "Cliente bifurcado"
#: ../src/pulse/sample.c:169
#, c-format
msgid "%s %uch %uHz"
-msgstr ""
+msgstr "%s %uch %uHz"
#: ../src/pulse/sample.c:181
#, c-format
msgid "%0.1f GiB"
-msgstr ""
+msgstr "%0.1f GiB"
#: ../src/pulse/sample.c:183
#, c-format
msgid "%0.1f MiB"
-msgstr ""
+msgstr "%0.1f MiB"
#: ../src/pulse/sample.c:185
#, c-format
msgid "%0.1f KiB"
-msgstr ""
+msgstr "%0.1f KiB"
#: ../src/pulse/sample.c:187
#, c-format
msgid "%u B"
-msgstr ""
+msgstr "%u B"
-#: ../src/pulse/client-conf-x11.c:55 ../src/utils/pax11publish.c:100
+#: ../src/pulse/client-conf-x11.c:55
+#: ../src/utils/pax11publish.c:100
msgid "XOpenDisplay() failed"
msgstr "XOpenDisplay() falhou"
@@ -1237,187 +1046,187 @@ msgstr "Falhou ao analisar os dados do cookie"
msgid "Failed to open configuration file '%s': %s"
msgstr "Falha em abrir o arquivo de configuração '%s': %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Nenhum cookie foi carregado. Tentativa de conexão sem eles."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Foi recebida uma mensagem para uma extensão desconhecida '%s'"
-#: ../src/utils/pacat.c:107
+#: ../src/utils/pacat.c:108
#, c-format
-msgid "Failed to drain stream: %s\n"
-msgstr "Falha em drenar o fluxo: %s\n"
+msgid "Failed to drain stream: %s"
+msgstr "Falha ao drenar o fluxo: %s"
+
+#: ../src/utils/pacat.c:113
+msgid "Playback stream drained."
+msgstr "Fluxo de reprodução drenado."
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
-msgstr "Drenado o fluxo de playback.\n"
+#: ../src/utils/pacat.c:123
+msgid "Draining connection to server."
+msgstr "Drenando conexão para o servidor."
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
-msgstr "Drenando a conexão par ao servidor.\n"
+#: ../src/utils/pacat.c:136
+#, c-format
+msgid "pa_stream_drain(): %s"
+msgstr "pa_stream_drain(): %s"
-#: ../src/utils/pacat.c:135
+#: ../src/utils/pacat.c:159
#, c-format
-msgid "pa_stream_drain(): %s\n"
-msgstr "pa_stream_drain(): %s\n"
+msgid "pa_stream_write() failed: %s"
+msgstr "pa_stream_write() falhou: %s"
-#: ../src/utils/pacat.c:158
+#: ../src/utils/pacat.c:197
#, c-format
-msgid "pa_stream_write() failed: %s\n"
-msgstr "pa_stream_write() falhou: %s\n"
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_begin_write() falhou: %s"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
+#: ../src/utils/pacat.c:237
+#: ../src/utils/pacat.c:267
#, c-format
-msgid "pa_stream_peek() failed: %s\n"
-msgstr "pa_stream_peek() falhou: %s\n"
+msgid "pa_stream_peek() failed: %s"
+msgstr "pa_stream_peek() falhou: %s"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
-msgstr "O fluxo (stream) foi criado com sucesso.\n"
+#: ../src/utils/pacat.c:307
+msgid "Stream successfully created."
+msgstr "Fluxo criado com sucesso."
-#: ../src/utils/pacat.c:305
+#: ../src/utils/pacat.c:310
#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
-msgstr "pa_stream_get_buffer_attr() falhou: %s\n"
+msgid "pa_stream_get_buffer_attr() failed: %s"
+msgstr "pa_stream_get_buffer_attr() falhou: %s"
-#: ../src/utils/pacat.c:309
+#: ../src/utils/pacat.c:314
#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-msgstr "Metrica do buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
+msgstr "Métricas do buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
-#: ../src/utils/pacat.c:312
+#: ../src/utils/pacat.c:317
#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
-msgstr "Métrica do buffer: maxlength=%u, fragsize=%u\n"
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
+msgstr "Métricas do buffer: maxlength=%u, fragsize=%u"
-#: ../src/utils/pacat.c:316
+#: ../src/utils/pacat.c:321
#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
-msgstr "Usando a espeficifação de amostragem '%s', mapa do canal '%s'.\n"
+msgid "Using sample spec '%s', channel map '%s'."
+msgstr "Usando especificação de amostragem \"%s\", mapa de canais \"%s\"."
-#: ../src/utils/pacat.c:320
+#: ../src/utils/pacat.c:325
#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
-msgstr "Conectado ao dispositivo %s (%u, %ssuspended).\n"
+msgid "Connected to device %s (%u, %ssuspended)."
+msgstr "Conectado ao dispositivo %s (%u, %ssuspended)."
-#: ../src/utils/pacat.c:330
+#: ../src/utils/pacat.c:335
#, c-format
-msgid "Stream error: %s\n"
-msgstr "Erro de fluxo: %s\n"
+msgid "Stream error: %s"
+msgstr "Erro de fluxo: %s"
-#: ../src/utils/pacat.c:340
+#: ../src/utils/pacat.c:345
#, c-format
-msgid "Stream device suspended.%s \n"
-msgstr "Dispositivo de fluxo suspenso.%s \n"
+msgid "Stream device suspended.%s"
+msgstr "Dispositivo de fluxo suspenso.%s"
-#: ../src/utils/pacat.c:342
+#: ../src/utils/pacat.c:347
#, c-format
-msgid "Stream device resumed.%s \n"
-msgstr "Dispositivo de fluxo prosseguiu.%s \n"
+msgid "Stream device resumed.%s"
+msgstr "O dispositivo de fluxo continuou.%s"
-#: ../src/utils/pacat.c:350
+#: ../src/utils/pacat.c:355
#, c-format
-msgid "Stream underrun.%s \n"
-msgstr "Extravazamento do fluxo. %s\n"
+msgid "Stream underrun.%s"
+msgstr "Subestimação do fluxo.%s"
-#: ../src/utils/pacat.c:357
+#: ../src/utils/pacat.c:362
#, c-format
-msgid "Stream overrun.%s \n"
-msgstr "O fluxo extravazou.%s \n"
+msgid "Stream overrun.%s"
+msgstr "Superestimação do fluxo.%s"
-#: ../src/utils/pacat.c:364
+#: ../src/utils/pacat.c:369
#, c-format
-msgid "Stream started.%s \n"
-msgstr "O fluxo iniciou: %s\n"
+msgid "Stream started.%s"
+msgstr "Fluxo iniciado.%s"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
-msgstr "O fluxo foi movido para o dispositivo %s (%u, %ssuspended).%s \n"
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
+msgstr "Fluxo movido para o dispositivo %s (%u, %ssuspended).%s"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "não"
-#: ../src/utils/pacat.c:378
-#, fuzzy, c-format
-msgid "Stream buffer attributes changed.%s \n"
-msgstr "Extravazamento do fluxo. %s\n"
-
-#: ../src/utils/pacat.c:411
+#: ../src/utils/pacat.c:383
#, c-format
-msgid "Connection established.%s \n"
-msgstr "Conexão estabelecida.%s \n"
+msgid "Stream buffer attributes changed.%s"
+msgstr "Atributos do buffer de fluxo alterados.%s"
-#: ../src/utils/pacat.c:414
+#: ../src/utils/pacat.c:416
#, c-format
-msgid "pa_stream_new() failed: %s\n"
-msgstr "pa_stream_new() falhou: %s\n"
+msgid "Connection established.%s"
+msgstr "Conexão estabelecida.%s"
-#: ../src/utils/pacat.c:442
+#: ../src/utils/pacat.c:419
#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
-msgstr "pa_stream_connect_playback() falhou: %s\n"
+msgid "pa_stream_new() failed: %s"
+msgstr "pa_stream_new() falhou: %s"
-#: ../src/utils/pacat.c:448
+#: ../src/utils/pacat.c:447
#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
-msgstr "pa_stream_connect_record() falhou: %s\n"
+msgid "pa_stream_connect_playback() failed: %s"
+msgstr "pa_stream_connect_playback() falhou: %s"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
+#: ../src/utils/pacat.c:453
#, c-format
-msgid "Connection failure: %s\n"
-msgstr "Falha na conexão: %s\n"
+msgid "pa_stream_connect_record() failed: %s"
+msgstr "pa_stream_connect_record() falhou: %s"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Atingiu EOF.\n"
+#: ../src/utils/pacat.c:467
+#, c-format
+msgid "Connection failure: %s"
+msgstr "Falha na conexão: %s"
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() falhou: %s\n"
+msgid "Got EOF."
+msgstr "Atingiu EOF."
-#: ../src/utils/pacat.c:532
+#: ../src/utils/pacat.c:537
#, c-format
-msgid "write() failed: %s\n"
-msgstr "write() falhou: %s\n"
+msgid "write() failed: %s"
+msgstr "write() falhou: %s"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
-msgstr "Sinal recebido, saindo (exiting).\n"
+#: ../src/utils/pacat.c:558
+msgid "Got signal, exiting."
+msgstr "Sinal recebido, saindo."
-#: ../src/utils/pacat.c:567
+#: ../src/utils/pacat.c:572
#, c-format
-msgid "Failed to get latency: %s\n"
-msgstr "Falhou em obter a latência: %s\n"
+msgid "Failed to get latency: %s"
+msgstr "Falha ao obter a latência: %s"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Tempo: %0.3f s; Latência: %0.0f us. \r"
-#: ../src/utils/pacat.c:592
+#: ../src/utils/pacat.c:595
#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
-msgstr "Falha em pa_stream_update_timing_info(): %s\n"
+msgid "pa_stream_update_timing_info() failed: %s"
+msgstr "pa_stream_update_timing_info() falhou: %s"
#: ../src/utils/pacat.c:605
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options]\n"
"\n"
@@ -1429,48 +1238,29 @@ msgid ""
"\n"
" -v, --verbose Enable verbose operations\n"
"\n"
-" -s, --server=SERVER The name of the server to connect "
-"to\n"
-" -d, --device=DEVICE The name of the sink/source to "
-"connect to\n"
-" -n, --client-name=NAME How to call this client on the "
-"server\n"
-" --stream-name=NAME How to call this stream on the "
-"server\n"
-" --volume=VOLUME Specify the initial (linear) volume "
-"in range 0...65536\n"
-" --rate=SAMPLERATE The sample rate in Hz (defaults to "
-"44100)\n"
-" --format=SAMPLEFORMAT The sample type, one of s16le, "
-"s16be, u8, float32le,\n"
-" float32be, ulaw, alaw, s32le, s32be, "
-"s24le, s24be,\n"
-" s24-32le, s24-32be (defaults to "
-"s16ne)\n"
-" --channels=CHANNELS The number of channels, 1 for mono, "
-"2 for stereo\n"
+" -s, --server=SERVER The name of the server to connect to\n"
+" -d, --device=DEVICE The name of the sink/source to connect to\n"
+" -n, --client-name=NAME How to call this client on the server\n"
+" --stream-name=NAME How to call this stream on the server\n"
+" --volume=VOLUME Specify the initial (linear) volume in range 0...65536\n"
+" --rate=SAMPLERATE The sample rate in Hz (defaults to 44100)\n"
+" --format=SAMPLEFORMAT The sample type, one of s16le, s16be, u8, float32le,\n"
+" float32be, ulaw, alaw, s32le, s32be, s24le, s24be,\n"
+" s24-32le, s24-32be (defaults to s16ne)\n"
+" --channels=CHANNELS The number of channels, 1 for mono, 2 for stereo\n"
" (defaults to 2)\n"
-" --channel-map=CHANNELMAP Channel map to use instead of the "
-"default\n"
-" --fix-format Take the sample format from the sink "
-"the stream is\n"
+" --channel-map=CHANNELMAP Channel map to use instead of the default\n"
+" --fix-format Take the sample format from the sink the stream is\n"
" being connected to.\n"
-" --fix-rate Take the sampling rate from the sink "
-"the stream is\n"
+" --fix-rate Take the sampling rate from the sink the stream is\n"
" being connected to.\n"
-" --fix-channels Take the number of channels and the "
-"channel map\n"
-" from the sink the stream is being "
-"connected to.\n"
+" --fix-channels Take the number of channels and the channel map\n"
+" from the sink the stream is being connected to.\n"
" --no-remix Don't upmix or downmix channels.\n"
-" --no-remap Map channels by index instead of "
-"name.\n"
-" --latency=BYTES Request the specified latency in "
-"bytes.\n"
-" --process-time=BYTES Request the specified process time "
-"per request in bytes.\n"
-" --property=PROPERTY=VALUE Set the specified property to the "
-"specified value.\n"
+" --no-remap Map channels by index instead of name.\n"
+" --latency=BYTES Request the specified latency in bytes.\n"
+" --process-time=BYTES Request the specified process time per request in bytes.\n"
+" --property=PROPERTY=VALUE Set the specified property to the specified value.\n"
" --raw Record/play raw PCM data.\n"
" --file-format=FFORMAT Record/play formatted PCM data.\n"
" --list-file-formats List available file formats.\n"
@@ -1481,44 +1271,36 @@ msgstr ""
" --version Mostra a versão\n"
"\n"
" -r, --record Cria uma conexão para gravação\n"
-" -p, --playback Cria uma conexão para playback\n"
+" -p, --playback Cria uma conexão para reprodução\n"
"\n"
-" -v, --verbose Habilita operações no modo verboso\n"
+" -v, --verbose Habilita operações no modo detalhado\n"
"\n"
-" -s, --server=SERVER Nome do servidor a ser conectado\n"
-" -d, --device=DEVICE O nome do destino/fonte a conectar\n"
-" -n, --client-name=NAME Como chamar o cliente no servidor\n"
-" --stream-name=NAME Como chamar este fluxo no "
-"servidorn --volume=VOLUME Especifica a faixa (linear) "
-"inicial de volume no intervalo 0...65536\n"
-" --rate=SAMPLERATE Taxa de amostragem em Hz (o padrão é "
-"44100)\n"
-" --format=SAMPLEFORMAT Tipo de amostragem, um de s16le, "
-"s16be, u8, float32le,\n"
-" float32be, ulaw, alaw, s32le, s32be "
-"(o padrão é s16ne)\n"
-" --channels=CHANNELS O número de canais, 1 para mono, 2 "
-"para estéreo\n"
+" -s, --server=SERVIDOR Nome do servidor a conectar-se\n"
+" -d, --device=DISPOSITIVO O nome do destino/fonte a conectar-se\n"
+" -n, --client-name=NOME Como chamar este cliente no servidor\n"
+" --stream-name=NOME Como chamar este fluxo no servidor\n"
+" --volume=VOLUME Especifica a faixa (linear) inicial de volume no intervalo 0...65536\n"
+" --rate=TAXA_DE_AMOSTRAGEM Taxa de amostragem em Hz (o padrão é 44100)\n"
+" --format=FORMATO_DE_AMOSTRAGEM Tipo de amostragem, um de s16le, s16be, u8, float32le,\n"
+" float32be, ulaw, alaw, s32le, s32be, s24le, s24be,\n"
+" s24-32le, s24-32be (o padrão é s16ne)\n"
+" --channels=CANAIS O número de canais, 1 para mono, 2 para estéreo\n"
" (o padrão é 2)\n"
-" --channel-map=CHANNELMAP Mapeamento de canais a ser usando em "
-"lugar do padrão\n"
-" --fix-format Obtém o formato da amostragem do "
-"destino onde o fluxo\n"
-" está sendo conectado.\n"
-" --fix-rate Obtém o taxa de amostragem do "
-"destino onde o fluxo está\n"
+" --channel-map=MAPA_DE_CANAIS Mapeamento de canais a ser usado no lugar do padrão\n"
+" --fix-format Obtém o formato da amostragem do destino onde o fluxo\n"
+" está sendo conectado.\n"
+" --fix-rate Obtém a taxa de amostragem do destino onde o fluxo está\n"
" sendo conectado.\n"
-" --fix-channels Obtém o número de canais e o mapa de "
-"canais\n"
-" do destino onde o fluxo está sendo "
-"conectado.\n"
-" --no-remix Don't upmix or downmix channels.\n"
-" --no-remap Map channels by index instead of "
-"name.\n"
-" --latency=BYTES Request the specified latency in "
-"bytes.\n"
-" --process-time=BYTES Request the specified process time "
-"per request in bytes.\n"
+" --fix-channels Obtém o número de canais e o mapa de canais\n"
+" do destino onde o fluxo está sendo conectado.\n"
+" --no-remix Não realizar upmix nem downmix dos canais.\n"
+" --no-remap Mapear os canais por índice em vez de nome.\n"
+" --latency=BYTES Requisitar a latência especificada em bytes.\n"
+" --process-time=BYTES Requisitar o tempo de processo especificado por requisições em bytes.\n"
+" --property=PROPRIEDADE=VALOR Define a propriedade especificada para o valor especificado.\n"
+" --raw Grava/reproduz dados PCM não tratados.\n"
+" --file-format=FORMATO_DO_ARQ. Grava/reproduz dados PCM formatados.\n"
+" --list-file-formats Lista os formatos de arquivo disponíveis.\n"
#: ../src/utils/pacat.c:727
#, c-format
@@ -1531,97 +1313,91 @@ msgstr ""
"Compilado com libpulse %s\n"
"Linkado com libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
-#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
-msgstr "Mapa de canal inválido '%s'\n"
+#: ../src/utils/pacat.c:760
+#, c-format
+msgid "Invalid client name '%s'"
+msgstr "Nome do cliente \"%s\" inválido"
#: ../src/utils/pacat.c:776
-#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
-msgstr "Método de reamostragem inválido '%s'."
+#, c-format
+msgid "Invalid stream name '%s'"
+msgstr "Nome do fluxo \"%s\" inválido"
#: ../src/utils/pacat.c:813
#, c-format
-msgid "Invalid channel map '%s'\n"
-msgstr "Mapa de canal inválido '%s'\n"
+msgid "Invalid channel map '%s'"
+msgstr "Mapa de canais \"%s\" inválido"
#: ../src/utils/pacat.c:842
#, c-format
-msgid "Invalid latency specification '%s'\n"
-msgstr "Especificação de latência inválida '%s'\n"
+msgid "Invalid latency specification '%s'"
+msgstr "Especificação de latência inválida \"%s\""
#: ../src/utils/pacat.c:849
#, c-format
-msgid "Invalid process time specification '%s'\n"
-msgstr "Especificação do tempo do processo inválida '%s'\n"
+msgid "Invalid process time specification '%s'"
+msgstr "Especificação do tempo de processo \"%s\" inválida"
#: ../src/utils/pacat.c:861
-#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
-msgstr "Método de reamostragem inválido '%s'."
+#, c-format
+msgid "Invalid property '%s'"
+msgstr "Propriedade \"%s\" inválida"
#: ../src/utils/pacat.c:878
#, c-format
msgid "Unknown file format %s."
-msgstr ""
+msgstr "Formato de arquivo %s desconhecido."
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
-msgstr "Especificação de amostragem inválida\n"
+msgid "Invalid sample specification"
+msgstr "Especificação de amostragem inválida"
#: ../src/utils/pacat.c:907
#, c-format
-msgid "open(): %s\n"
-msgstr "open(): %s\n"
+msgid "open(): %s"
+msgstr "open(): %s"
#: ../src/utils/pacat.c:912
#, c-format
-msgid "dup2(): %s\n"
-msgstr "dup2(): %s\n"
+msgid "dup2(): %s"
+msgstr "dup2(): %s"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
-msgstr "Argumentos em excesso.\n"
+msgid "Too many arguments."
+msgstr "Argumentos em excesso."
#: ../src/utils/pacat.c:930
-#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
-msgstr "Falha em obter informações sobre a amostragem: %s\n"
+msgid "Failed to generate sample specification for file."
+msgstr "Falha ao gerar a especificação de amostragem para o arquivo."
#: ../src/utils/pacat.c:950
-#, fuzzy
-msgid "Failed to open audio file.\n"
-msgstr "Falha em abrir o arquivo de som.\n"
+msgid "Failed to open audio file."
+msgstr "Falha ao abrir o arquivo de áudio."
#: ../src/utils/pacat.c:956
-msgid ""
-"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+msgid "Warning: specified sample specification will be overwritten with specification from file."
+msgstr "Aviso: a especificação de amostragem especificada será sobrescrita pela especificação do arquivo."
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
-#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
-msgstr "Falha em obter informações sobre a amostragem: %s\n"
+#: ../src/utils/pacat.c:959
+msgid "Failed to determine sample specification from file."
+msgstr "Falha ao determinar a especificação de amostragem a partir do arquivo."
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Aviso: falha ao determinar o mapa de canais a partir do arquivo."
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
-msgstr "O mapeamento do canal não casa com a especificação da amostragem\n"
+msgid "Channel map doesn't match sample specification"
+msgstr "O mapa de canais não combina com a especificação da amostragem"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+msgid "Warning: failed to write channel map to file."
+msgstr "Aviso: falha ao gravar o mapa de canais no arquivo."
#: ../src/utils/pacat.c:1005
-#, fuzzy, c-format
-msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
-msgstr "Abrindo um %s fluxo com a especificação de amostragem '%s'.\n"
+#, c-format
+msgid "Opening a %s stream with sample specification '%s' and channel map '%s'."
+msgstr "Abrindo um fluxo %s com a especificação de amostragem \"%s\" e mapeamento de canais \"%s\"."
#: ../src/utils/pacat.c:1006
msgid "recording"
@@ -1631,36 +1407,31 @@ msgstr "gravando"
msgid "playback"
msgstr "playback"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
-msgstr "pa_mainloop_new() falhou.\n"
+#: ../src/utils/pacat.c:1032
+msgid "pa_mainloop_new() failed."
+msgstr "pa_mainloop_new() falhou."
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
-msgstr "io_new() falhou.\n"
+msgid "io_new() failed."
+msgstr "io_new() falhou."
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
-msgstr "pa_context_new() falhou.\n"
+#: ../src/utils/pacat.c:1058
+msgid "pa_context_new() failed."
+msgstr "pa_context_new() falhou."
#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_new() falhou: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() falhou.\n"
+#: ../src/utils/pacat.c:1072
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_rttime_new() falhou."
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
-msgstr "pa_mainloop_run() falhou.\n"
+#: ../src/utils/pacat.c:1079
+msgid "pa_mainloop_run() failed."
+msgstr "pa_mainloop_run() falhou."
#: ../src/utils/pasuspender.c:81
#, c-format
@@ -1685,11 +1456,16 @@ msgstr "Falha ao prosseguir: %s\n"
#: ../src/utils/pasuspender.c:147
#, c-format
msgid "WARNING: Sound server is not local, not suspending.\n"
-msgstr ""
-"AVISO: O servidor de som não é local, Sound server is not local, não está em "
-"suspenso.\n"
+msgstr "AVISO: O servidor de som não é local, Sound server is not local, não está em suspenso.\n"
+
+#: ../src/utils/pasuspender.c:159
+#: ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Falha na conexão: %s\n"
-#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
+#: ../src/utils/pasuspender.c:176
+#: ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
msgstr "Recebido o SIGINT, saindo.\n"
@@ -1706,8 +1482,7 @@ msgid ""
"\n"
" -h, --help Show this help\n"
" --version Show version\n"
-" -s, --server=SERVER The name of the server to connect "
-"to\n"
+" -s, --server=SERVER The name of the server to connect to\n"
"\n"
msgstr ""
"%s [options] ... \n"
@@ -1728,6 +1503,24 @@ msgstr ""
"Compilado com libpulse %s\n"
"Linkado com libpulse %s\n"
+#: ../src/utils/pasuspender.c:277
+#: ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() falhou.\n"
+
+#: ../src/utils/pasuspender.c:290
+#: ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() falhou.\n"
+
+#: ../src/utils/pasuspender.c:298
+#: ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() falhou.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1754,7 +1547,7 @@ msgid "Failed to get server information: %s\n"
msgstr "Falha em obter a informação do servidor: %s\n"
#: ../src/utils/pactl.c:157
-#, fuzzy, c-format
+#, c-format
msgid ""
"User name: %s\n"
"Host Name: %s\n"
@@ -1766,11 +1559,12 @@ msgid ""
"Default Source: %s\n"
"Cookie: %08x\n"
msgstr ""
-"Nome do Usuário: %s\n"
-"Nome do Host: %s\n"
-"Nome do Servidor: %s\n"
-"Versão do Servidor: %s\n"
+"Nome do usuário: %s\n"
+"Nome da máquina: %s\n"
+"Nome do servidor: %s\n"
+"Versão do servidor: %s\n"
"Especificação padrão de amostragem: %s\n"
+"Mapa de canais padrão: %s\n"
"Destino padrão: %s\n"
"Fonte padrão %s\n"
"Cookie: %08x\n"
@@ -1781,7 +1575,7 @@ msgid "Failed to get sink information: %s\n"
msgstr "Falha em obter a informação do destino: %s\n"
#: ../src/utils/pactl.c:214
-#, fuzzy, c-format
+#, c-format
msgid ""
"Sink #%u\n"
"\tState: %s\n"
@@ -1801,28 +1595,35 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
-"*** Destino #%u ***\n"
-"Nome: %s\n"
-"Driver: %s\n"
-"Especificação de amostragem: %s\n"
-"Mapa de canais: %s\n"
-"Propretário do módulo: %u\n"
-"Volume: %s\n"
-"Fonte do monitor: %s\n"
-"Latência: %0.0f us, configurado %0.0f us\n"
-"Flags: %s%s%s%s%s%s\n"
-"Propriedades:\n"
-"%s"
-
-#: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353
+"Destino #%u\n"
+"\tEstado: %s\n"
+"\tNome: %s\n"
+"\tDescrição: %s\n"
+"\tDriver: %s\n"
+"\tEspecificação da amostragem: %s\n"
+"\tMapa dos canais: %s\n"
+"\tMódulo proprietário: %u\n"
+"\tMudo: %s\n"
+"\tVolume: %s%s%s\n"
+"\t balanço %0.2f\n"
+"\tVolume base: %s%s%s\n"
+"\tFonte de monitoração: %s\n"
+"\tLatência: %0.0f usec, %0.0f usec configurado\n"
+"\tSinalizadores: %s%s%s%s%s%s\n"
+"\tPropriedades:\n"
+"\t\t%s\n"
+
+#: ../src/utils/pactl.c:261
+#: ../src/utils/pactl.c:353
#, c-format
msgid "\tPorts:\n"
-msgstr ""
+msgstr "\tPortas:\n"
-#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359
-#, fuzzy, c-format
+#: ../src/utils/pactl.c:267
+#: ../src/utils/pactl.c:359
+#, c-format
msgid "\tActive Port: %s\n"
-msgstr "O pipe falhou: %s"
+msgstr "\tPorta ativa: %s\n"
#: ../src/utils/pactl.c:290
#, c-format
@@ -1830,7 +1631,7 @@ msgid "Failed to get source information: %s\n"
msgstr "Falha em obter a informação da fonte: %s\n"
#: ../src/utils/pactl.c:306
-#, fuzzy, c-format
+#, c-format
msgid ""
"Source #%u\n"
"\tState: %s\n"
@@ -1850,23 +1651,36 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
-"*** Fonte #%u ***\n"
-"Nome: %s\n"
-"Driver: %s\n"
-"Especificação de amostragem: %s\n"
-"Mapa do canal: %s\n"
-"Proprietário do módulo: %u\n"
-"Volume: %s\n"
-"Monitor do destino: %s\n"
-"Latência: %0.0f us, configurado %0.0f us:\n"
-"Flags: %s%s%s%s%s%s\n"
-"Propriedades:\n"
-"%s"
-
-#: ../src/utils/pactl.c:338 ../src/utils/pactl.c:394 ../src/utils/pactl.c:429
-#: ../src/utils/pactl.c:466 ../src/utils/pactl.c:525 ../src/utils/pactl.c:526
-#: ../src/utils/pactl.c:536 ../src/utils/pactl.c:580 ../src/utils/pactl.c:581
-#: ../src/utils/pactl.c:587 ../src/utils/pactl.c:630 ../src/utils/pactl.c:631
+"Fonte #%u\n"
+"\tEstado: %s\n"
+"\tNome: %s\n"
+"\tDescrição: %s\n"
+"\tDriver: %s\n"
+"\tEspecificação da amostragem: %s\n"
+"\tMapa dos canais: %s\n"
+"\tMódulo proprietário: %u\n"
+"\tMudo: %s\n"
+"\tVolume: %s%s%s\n"
+"\t balanço %0.2f\n"
+"\tVolume base: %s%s%s\n"
+"\tMonitor do destino: %s\n"
+"\tLatência: %0.0f usec, %0.0f usec configurado\n"
+"\tSinalizadores: %s%s%s%s%s%s\n"
+"\tPropriedades:\n"
+"\t\t%s\n"
+
+#: ../src/utils/pactl.c:338
+#: ../src/utils/pactl.c:394
+#: ../src/utils/pactl.c:429
+#: ../src/utils/pactl.c:466
+#: ../src/utils/pactl.c:525
+#: ../src/utils/pactl.c:526
+#: ../src/utils/pactl.c:536
+#: ../src/utils/pactl.c:580
+#: ../src/utils/pactl.c:581
+#: ../src/utils/pactl.c:587
+#: ../src/utils/pactl.c:630
+#: ../src/utils/pactl.c:631
#: ../src/utils/pactl.c:638
msgid "n/a"
msgstr "n/a"
@@ -1877,7 +1691,7 @@ msgid "Failed to get module information: %s\n"
msgstr "Falha em obter a informação do módulo: %s\n"
#: ../src/utils/pactl.c:386
-#, fuzzy, c-format
+#, c-format
msgid ""
"Module #%u\n"
"\tName: %s\n"
@@ -1886,11 +1700,12 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
-"*** Módulo #%u ***\n"
-"Nome: %s\n"
-"Argumento: %s\n"
-"Contador de uso: %s\n"
-"Auto descarregar: %s\n"
+"Módulo #%u\n"
+"\tNome: %s\n"
+"\tArgumento: %s\n"
+"\tContador de uso: %s\n"
+"\tPropriedades:\n"
+"\t\t%s\n"
#: ../src/utils/pactl.c:405
#, c-format
@@ -1898,7 +1713,7 @@ msgid "Failed to get client information: %s\n"
msgstr "Falhou ao obter a informação do cliente: %s\n"
#: ../src/utils/pactl.c:423
-#, fuzzy, c-format
+#, c-format
msgid ""
"Client #%u\n"
"\tDriver: %s\n"
@@ -1906,19 +1721,19 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
-"*** Cliente #%u ***\n"
-"Driver: %s\n"
-"Poprietário do módulo: %s\n"
-"Propriedades:\n"
-"%s"
+"Cliente #%u\n"
+"\tDriver: %s\n"
+"\tMódulo proprietário: %s\n"
+"\tPropriedades:\n"
+"\t\t%s\n"
#: ../src/utils/pactl.c:440
-#, fuzzy, c-format
+#, c-format
msgid "Failed to get card information: %s\n"
-msgstr "Falha em obter a informação do autoload: %s\n"
+msgstr "Falha ao obter as informações da placa: %s\n"
#: ../src/utils/pactl.c:458
-#, fuzzy, c-format
+#, c-format
msgid ""
"Card #%u\n"
"\tName: %s\n"
@@ -1927,21 +1742,22 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
-"*** Cliente #%u ***\n"
-"Driver: %s\n"
-"Poprietário do módulo: %s\n"
-"Propriedades:\n"
-"%s"
+"Placa #%u\n"
+"\tNome: %s\n"
+"\tDriver: %s\n"
+"\tMódulo proprietário: %s\n"
+"\tPropriedades:\n"
+"\t\t%s\n"
#: ../src/utils/pactl.c:472
#, c-format
msgid "\tProfiles:\n"
-msgstr ""
+msgstr "\tPerfis:\n"
#: ../src/utils/pactl.c:478
-#, fuzzy, c-format
+#, c-format
msgid "\tActive Profile: %s\n"
-msgstr "O pipe falhou: %s"
+msgstr "\tPerfil ativo: %s\n"
#: ../src/utils/pactl.c:489
#, c-format
@@ -1949,7 +1765,7 @@ msgid "Failed to get sink input information: %s\n"
msgstr "Falha na obtenção da informação de entrada do destino: %s\n"
#: ../src/utils/pactl.c:508
-#, fuzzy, c-format
+#, c-format
msgid ""
"Sink Input #%u\n"
"\tDriver: %s\n"
@@ -1968,19 +1784,22 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
-"*** Entrada do destino #%u ***\n"
-"Driver: %s\n"
-"Proprietário do módulo: %s\n"
-"Cliente: %s\n"
-"Destino: %u\n"
-"Especificação da amostragem: %s\n"
-"Mapa de canais: %s\n"
-"Volume: %s\n"
-"Latência do buffer: %0.0f us\n"
-"Latência do destino %0.0f usec\n"
-"Método de reamostragem (resample): %s\n"
-"Propriedades:\n"
-"%s"
+"Entrada do destino #%u\n"
+"\tDriver: %s\n"
+"\tMódulo proprietário: %s\n"
+"\tCliente: %s\n"
+"\tDestino: %u\n"
+"\tEspecificação da amostragem: %s\n"
+"\tMapa dos canais: %s\n"
+"\tMudo: %s\n"
+"\tVolume: %s\n"
+"\t %s\n"
+"\t balanço %0.2f\n"
+"\tLatência do buffer: %0.0f usec\n"
+"\tLatência do destino: %0.0f usec\n"
+"\tMétodo de reamostragem: %s\n"
+"\tPropriedades:\n"
+"\t\t%s\n"
#: ../src/utils/pactl.c:547
#, c-format
@@ -1988,7 +1807,7 @@ msgid "Failed to get source output information: %s\n"
msgstr "Falha em obter informações sobre a saída da fonte: %s\n"
#: ../src/utils/pactl.c:567
-#, fuzzy, c-format
+#, c-format
msgid ""
"Source Output #%u\n"
"\tDriver: %s\n"
@@ -2003,18 +1822,18 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
-"*** Saída da Fonte #%u ***\n"
-"Driver: %s\n"
-"Proprietário do Módulo: %s\n"
-"Cliente: %s\n"
-"Fonte: %u\n"
-"Especificação de Amostragem: %s\n"
-"Mapa do Canal: %s\n"
-"Latência do Buffer: %0.0f usec\n"
-"Latência da Fonte: %0.0f usec\n"
-"Método de Reamostragem (resample): %s\n"
-"Propriedades:\n"
-"%s"
+"Saída da fonte #%u\n"
+"\tDriver: %s\n"
+"\tMódulo proprietário: %s\n"
+"\tCliente: %s\n"
+"\tFonte: %u\n"
+"\tEspecificação da amostragem: %s\n"
+"\tMapa dos canais: %s\n"
+"\tLatência do buffer: %0.0f usec\n"
+"\tLatência da fonte: %0.0f usec\n"
+"\tMétodo de reamostragem: %s\n"
+"\tPropriedades:\n"
+"\t\t%s\n"
#: ../src/utils/pactl.c:598
#, c-format
@@ -2022,7 +1841,7 @@ msgid "Failed to get sample information: %s\n"
msgstr "Falha em obter informações sobre a amostragem: %s\n"
#: ../src/utils/pactl.c:616
-#, fuzzy, c-format
+#, c-format
msgid ""
"Sample #%u\n"
"\tName: %s\n"
@@ -2038,19 +1857,22 @@ msgid ""
"\tProperties:\n"
"\t\t%s\n"
msgstr ""
-"*** Amostragem #%u ***\n"
-"Nome: %s\n"
-"Volume: %s\n"
-"Especificação da Amostragem: %s\n"
-"Mapa de Canais: %s\n"
-"Duração: %0.1fs\n"
-"Tamanho: %s\n"
-"Lazy: %s\n"
-"Nome do Arquivo: %s\n"
-"Propriedades:\n"
-"%s"
-
-#: ../src/utils/pactl.c:646 ../src/utils/pactl.c:656
+"Amostra #%u\n"
+"\tNome: %s\n"
+"\tEspecificação da amostragem: %s\n"
+"\tMapa dos canais: %s\n"
+"\tVolume: %s\n"
+"\t %s\n"
+"\t balanço %0.2f\n"
+"\tDuração: %0.1fs\n"
+"\tTamanho: %s\n"
+"\tLazy: %s\n"
+"\tNome do arquivo: %s\n"
+"\tPropriedades:\n"
+"\t\t%s\n"
+
+#: ../src/utils/pactl.c:646
+#: ../src/utils/pactl.c:656
#, c-format
msgid "Failure: %s\n"
msgstr "Falha: %s\n"
@@ -2065,7 +1887,7 @@ msgid "Premature end of file\n"
msgstr "Fim prematuro do arquivo\n"
#: ../src/utils/pactl.c:826
-#, fuzzy, c-format
+#, c-format
msgid ""
"%s [options] stat\n"
"%s [options] list\n"
@@ -2086,30 +1908,30 @@ msgid ""
" -h, --help Show this help\n"
" --version Show version\n"
"\n"
-" -s, --server=SERVER The name of the server to connect "
-"to\n"
-" -n, --client-name=NAME How to call this client on the "
-"server\n"
-msgstr ""
-"%s [options] stat\n"
-"%s [options] list\n"
-"%s [options] exit\n"
-"%s [options] upload-sample FILENAME [NAME]\n"
-"%s [options] play-sample NAME [SINK]\n"
-"%s [options] remove-sample NAME\n"
-"%s [options] move-sink-input ID SINK\n"
-"%s [options] move-source-output ID SOURCE\n"
-"%s [options] load-module NAME [ARGS ...]\n"
-"%s [options] unload-module ID\n"
-"%s [options] suspend-sink [SINK] 1|0\n"
-"%s [options] suspend-source [SOURCE] 1|0\n"
+" -s, --server=SERVER The name of the server to connect to\n"
+" -n, --client-name=NAME How to call this client on the server\n"
+msgstr ""
+"%s [opções] stat\n"
+"%s [opções] list\n"
+"%s [opções] exit\n"
+"%s [opções] upload-sample NOME_DO_ARQUIVO [NOME]\n"
+"%s [opções] play-sample NOME [DESTINO]\n"
+"%s [opções] remove-sample NOME\n"
+"%s [opções] move-sink-input ID DESTINO\n"
+"%s [opções] move-source-output ID FONTE\n"
+"%s [opções] load-module NOME [ARGS ...]\n"
+"%s [opções] unload-module ID\n"
+"%s [opções] suspend-sink [DESTINO] 1|0\n"
+"%s [opções] suspend-source [FONTE] 1|0\n"
+"%s [opções] set-card-profile [PLACA] [PERFIL] \n"
+"%s [opções] set-sink-port [DESTINO] [PORTA] \n"
+"%s [opções] set-source-port [FONTE] [PORTA] \n"
"\n"
" -h, --help Mostra essa ajuda\n"
" --version Mostra a versão\n"
"\n"
" -s, --server=SERVER O nome do servidor a ser conectado\n"
-" -n, --client-name=NAME Como chamar este cliente no "
-"servidor \n"
+" -n, --client-name=NAME Como chamar este cliente no servidor \n"
#: ../src/utils/pactl.c:880
#, c-format
@@ -2122,6 +1944,11 @@ msgstr ""
"Compilado com libpulse %s\n"
"Linkado com libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Nome do cliente \"%s\" inválido\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Por favor, especifique o arquivo de amostra a ser carregado\n"
@@ -2130,10 +1957,13 @@ msgstr "Por favor, especifique o arquivo de amostra a ser carregado\n"
msgid "Failed to open sound file.\n"
msgstr "Falha em abrir o arquivo de som.\n"
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Falha ao determinar a especificação de amostragem a partir do arquivo.\n"
+
#: ../src/utils/pactl.c:951
-#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
-msgstr "Abrindo um %s fluxo com a especificação de amostragem '%s'.\n"
+msgstr "Aviso: falha ao determinar a especificação da amostragem a partir do arquivo.\n"
#: ../src/utils/pactl.c:961
msgid "You have to specify a sample name to play\n"
@@ -2145,8 +1975,7 @@ msgstr "Você deve especificar um nome da amostra para ser removida\n"
#: ../src/utils/pactl.c:982
msgid "You have to specify a sink input index and a sink\n"
-msgstr ""
-"Você tem que especificar a entrada para o destino (sink) e um destino(sink)\n"
+msgstr "Você tem que especificar a entrada para o destino e um destino\n"
#: ../src/utils/pactl.c:992
msgid "You have to specify a source output index and a source\n"
@@ -2161,50 +1990,29 @@ msgid "You have to specify a module index\n"
msgstr "Você deve especificar um índice de um módulo\n"
#: ../src/utils/pactl.c:1037
-#, fuzzy
-msgid ""
-"You may not specify more than one sink. You have to specify a boolean "
-"value.\n"
-msgstr ""
-"Você não pode especificar mais de um destino. Pelo menos um valor booleano "
-"deve ser especificado.\n"
+msgid "You may not specify more than one sink. You have to specify a boolean value.\n"
+msgstr "Você não pode especificar mais de um destino. Você tem que especificar um valor booleano.\n"
#: ../src/utils/pactl.c:1050
-#, fuzzy
-msgid ""
-"You may not specify more than one source. You have to specify a boolean "
-"value.\n"
-msgstr ""
-"Você não pode especificar mais de uma fonte. Pelo menos um valor booleano "
-"deve ser especificado.\n"
+msgid "You may not specify more than one source. You have to specify a boolean value.\n"
+msgstr "Você não pode especificar mais de uma fonte. Você tem que especificar um valor booleano.\n"
#: ../src/utils/pactl.c:1062
-#, fuzzy
msgid "You have to specify a card name/index and a profile name\n"
-msgstr ""
-"Você tem que especificar a entrada para o destino (sink) e um destino(sink)\n"
+msgstr "Você tem que especificar um nome/índice da placa e um nome de perfil\n"
#: ../src/utils/pactl.c:1073
-#, fuzzy
msgid "You have to specify a sink name/index and a port name\n"
-msgstr ""
-"Você tem que especificar a entrada para o destino (sink) e um destino(sink)\n"
+msgstr "Você tem que especificar um nome/índice do destino e o nome da porta\n"
#: ../src/utils/pactl.c:1084
-#, fuzzy
msgid "You have to specify a source name/index and a port name\n"
-msgstr ""
-"Você tem que especificar a entrada para o destino (sink) e um destino(sink)\n"
+msgstr "Você tem que especificar um nome/índice da fonte e o nome da porta\n"
#: ../src/utils/pactl.c:1099
msgid "No valid command specified.\n"
msgstr "Nenhum comando válido especificado.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_new() falhou: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2212,17 +2020,14 @@ msgid ""
"\n"
" -d Show current PulseAudio data attached to X11 display (default)\n"
" -e Export local PulseAudio data to X11 display\n"
-" -i Import PulseAudio data from X11 display to local environment "
-"variables and cookie file.\n"
+" -i Import PulseAudio data from X11 display to local environment variables and cookie file.\n"
" -r Remove PulseAudio data from X11 display\n"
msgstr ""
"%s [-D display] [-S server] [-O sink] [-I source] [-c file] [-d|-e|-i|-r]\n"
"\n"
-" -d Mostra os dados atuais do PulseAudio associados ao display X11 "
-"(padrão)\n"
+" -d Mostra os dados atuais do PulseAudio associados ao display X11 (padrão)\n"
" -e Exporta os dados locais do PulseAudio para um display X11 \n"
-" -i Importa os dados do PulseAudio de um display X11 para as variáveis "
-"de ambiente locais e para o arquivo de cookie.\n"
+" -i Importa os dados do PulseAudio de um display X11 para as variáveis de ambiente locais e para o arquivo de cookie.\n"
" -r Remove os dados do PulseAudio do display X11\n"
#: ../src/utils/pax11publish.c:94
@@ -2287,7 +2092,7 @@ msgstr "Ainda não implementado.\n"
#: ../src/utils/pacmd.c:61
msgid "No PulseAudio daemon running, or not running as session daemon."
-msgstr ""
+msgstr "Nenhum daemon do PulseAudio em execução ou não está em execução como daemon de sessão."
#: ../src/utils/pacmd.c:66
#, c-format
@@ -2301,79 +2106,161 @@ msgstr "connect(): %s"
#: ../src/utils/pacmd.c:91
msgid "Failed to kill PulseAudio daemon."
-msgstr "Falha em cancelar o daemon do PulseAudio."
+msgstr "Falha ao matar o daemon do PulseAudio."
#: ../src/utils/pacmd.c:99
msgid "Daemon not responding."
-msgstr "Daemon não responde."
+msgstr "O daemon não responde."
#: ../src/utils/pacmd.c:146
#, c-format
msgid "select(): %s"
msgstr "select(): %s"
-#: ../src/utils/pacmd.c:156 ../src/utils/pacmd.c:173
+#: ../src/utils/pacmd.c:156
+#: ../src/utils/pacmd.c:173
#, c-format
msgid "read(): %s"
msgstr "read(): %s"
-#: ../src/utils/pacmd.c:189 ../src/utils/pacmd.c:203
+#: ../src/utils/pacmd.c:189
+#: ../src/utils/pacmd.c:203
#, c-format
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136
+#: ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Não foi possível acessar a trava de autogeração."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449
+#: ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
-"ALSA woke us up to write new data to the device, but there was actually "
-"nothing to write!\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers.\n"
-"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "
-"returned 0 or another value < min_avail."
+"ALSA woke us up to write new data to the device, but there was actually nothing to write!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers.\n"
+"We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail."
msgstr ""
+"O ALSA nos acordou para gravar novos dados no dispositivo, mas não há nada a ser gravado!\n"
+"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema para os desenvolvedores do ALSA.\n"
+"Nós fomos acordados com o conjunto POLLOUT -- entretanto, a snd_pcm_avail() subseqüente retornou 0 ou outro valor < min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429
+#: ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
-"ALSA woke us up to read new data from the device, but there was actually "
-"nothing to read!\n"
-"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
-"to the ALSA developers.\n"
-"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() "
-"returned 0 or another value < min_avail."
+"ALSA woke us up to read new data from the device, but there was actually nothing to read!\n"
+"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers.\n"
+"We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail."
msgstr ""
+"O ALSA nos acordou para ler novos dados no dispositivo, mas não há nada a ser lido!\n"
+"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema para os desenvolvedores do ALSA.\n"
+"Nós fomos acordados com o conjunto POLLIN -- entretanto, a snd_pcm_avail() subseqüente retornou 0 ou outro valor < min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
-msgstr ""
+msgstr "Desligado"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
-msgstr ""
+msgstr "Reprodução de alta fidelidade (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
-msgstr ""
+msgstr "Duplex telefônico (HSP/HFP)"
#: ../src/modules/reserve-wrap.c:151
msgid "PulseAudio Sound Server"
-msgstr ""
-
+msgstr "Servidor de som PulseAudio"
+
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Não foi possível conectar com o barramento do sistema: %s"
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Não foi possível obter quem chamou pelo PID: %s"
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Não foi possível definir o UID sobre o objeto que chamou."
+#~ msgid "Failed to get CK session."
+#~ msgstr "Falha em obter a sessão CK."
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Não foi possível definir o UID do objeto da sessão."
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Não foi possível alocar o PolKitAction."
+#~ msgid "Cannot set action_id"
+#~ msgstr "Não foi possível definir a action_id"
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Não foi possível alocar o PolKitContext."
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Não foi possível iniciar o PolKitContext: %s"
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Não foi possível determinar se o solicitante está autorizado: %s"
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Não foi possível obter auth: %s"
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit respondeu com '%s'"
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Escalonamento de alta prioridade (nível de nice Unix negativo) para o "
+#~ "daemon do PulseAudio"
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Escalonamento em tempo real para o daemon do PulseAudio"
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Uma política do sistema impede que o PulseAudio adquira escalonamento de "
+#~ "alta prioridade."
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "Uma política do sistema impede que o PulseAudio adquira o escalonamento "
+#~ "em tempo real."
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() falhou: %s\n"
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() falhou: %s\n"
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "Estamos no grupo '%s', permitindo escalonamento de alta prioridade."
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "Estamos no grupo '%s', permitindo escalonamento em tempo real."
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr ""
+#~ "O PolicyKit assegura-nos a aquisição de privilégio de alta prioridade."
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "O PolicyKit recusa a aquisição de privilégios de alta prioridade."
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "O PolicyKit assegura-nos a aquisição de privilégios de tempo-real."
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "O PolicyKit recusa a aquisição de privilégios de tempo real."
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "O escalonamento de alta prioridade foi habilitado para esta configuração, "
+#~ "mas não é permitida pela política."
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "RLIMIT_RTPRIO aumentado com sucesso"
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO falhou: %s"
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Abandonando CAP_NICE"
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "O escalonamento de tempo real foi habilitado pela configuração, mas não é "
+#~ "permitido pela política."
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "As capacidades foram limitadas com sucesso para CAP_SYS_NICE."
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() falhou.\n"
#~ msgid "Stream successfully created\n"
#~ msgstr "Fluxo criado com sucesso\n"
-
#~ msgid "Stream errror: %s\n"
#~ msgstr "Erro de fluxo: %s\n"
-
#~ msgid "Connection established.\n"
#~ msgstr "Conexão estabelecida.\n"
-
#~ msgid ""
#~ "%s [options] [FILE]\n"
#~ "\n"
@@ -2412,7 +2299,6 @@ msgstr ""
#~ " --volume=VOLUME Especifica o volume inicial "
#~ "(linear) no intervalo 0...65536\n"
#~ " --channel-map=CHANNELMAP Define o mapa do canal para uso\n"
-
#~ msgid ""
#~ "paplay %s\n"
#~ "Compiled with libpulse %s\n"
@@ -2421,16 +2307,12 @@ msgstr ""
#~ "paplay %s\n"
#~ "Compilado com libpulse %s\n"
#~ "Linkado com libpulse %s\n"
-
#~ msgid "Invalid channel map\n"
#~ msgstr "Mapa de canais inválido\n"
-
#~ msgid "Failed to open file '%s'\n"
#~ msgstr "Falha ao abrir o arquivo '%s'\n"
-
#~ msgid "Channel map doesn't match file.\n"
#~ msgstr "O mapa dos canais não coincide com o arquivo.\n"
-
#~ msgid "Using sample spec '%s'\n"
#~ msgstr "Usando a especificação da amostragem '%s'\n"
@@ -2449,19 +2331,14 @@ msgstr ""
#, fuzzy
#~ msgid "--log-time boolean argument"
#~ msgstr "--disallow-exit argumento booleano"
-
#~ msgid "Default sink name (%s) does not exist in name register."
#~ msgstr "O nome padrão do destino (%s) não existe no registro de nomes."
-
#~ msgid "Buffer overrun, dropping incoming data\n"
#~ msgstr "Houve estouro de buffer, os dados que chegaram foram descartados\n"
-
#~ msgid "pa_stream_drop() failed: %s\n"
#~ msgstr "pa_stream_drop() falhou: %s\n"
-
#~ msgid "muted"
#~ msgstr "mudo"
-
#~ msgid ""
#~ "*** Autoload Entry #%u ***\n"
#~ "Name: %s\n"
@@ -2474,13 +2351,10 @@ msgstr ""
#~ "Tipo: %s\n"
#~ "Módulo: %s\n"
#~ "Argumento: %s\n"
-
#~ msgid "sink"
#~ msgstr "destino"
-
#~ msgid "source"
#~ msgstr "fonte"
-
#~ msgid ""
#~ "' and PolicyKit refuse to grant us priviliges. Dropping SUID again.\n"
#~ "For enabling real-time scheduling please acquire the appropriate "
@@ -2490,13 +2364,11 @@ msgstr ""
#~ "outra vez.\n"
#~ " Para habilitar o escalonamento em tempo real, por favo, adquira os "
#~ "privilégios adequados pelo PolicyKit, ou torne-se membro do'"
-
#~ msgid ""
#~ "', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this "
#~ "user."
#~ msgstr ""
#~ "', ou eleve o RLIMIT_NICE/RLIMIT_RTPRIO dos limites do recurso para este "
#~ "usuário."
-
#~ msgid "socketpair(): %s"
#~ msgstr "socketpair(): %s"
diff --git a/po/sr.po b/po/sr.po
index b8c861fe..371c7b52 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-07 23:02+0100\n"
"Last-Translator: MiloÅ¡ KomarÄević <kmilos@gmail.com>\n"
"Language-Team: Serbian <fedora-trans-sr@redhat.com>\n"
@@ -19,7 +19,12 @@ msgstr ""
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 0.3\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -32,7 +37,7 @@ msgstr ""
"Ово је највероватније грешка у „%s“ ALSA управљачком програму. Пријавите "
"овај проблем ALSA програмерима."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -45,7 +50,7 @@ msgstr ""
"Ово је највероватније грешка у „%s“ ALSA управљачком програму. Пријавите "
"овај проблем ALSA програмерима."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -71,7 +76,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Унутрашњи звук"
@@ -91,222 +96,92 @@ msgstr "ÐеуÑпешно Ñмештање новог dl учитавача."
msgid "Failed to add bind-now-loader."
msgstr "ÐеуÑпешно додавање „повежи одмах“ учитавача."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Ðије Ñе могуће прикључити на ÑиÑтемÑку магиÑтралу: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Ðе могу добавити позивника из PID-а: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Ðе могу поÑтавити UID за позивнички објекат."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "ÐеуÑпешно добављање CK ÑеÑије."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Ðе могу поÑтавити UID за објекат ÑеÑије."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Ðе могу поÑтавити PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Ðе могу поÑтавити action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Ðе могу поÑтавити PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Ðе могу иницијализовати PolKitContex: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Ðије могуће одредити овлашћење позивника: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Ðе могу добити овлашћење: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit је одговорио Ñа „%s“"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Добих Ñигнал %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Ðапуштам."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Ðе могу наћи кориÑника „%s“."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Ðе могу наћи групу „%s“."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Ðађени Ñу кориÑник „%s“ (UID %lu) и група „%s“ (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID кориÑника „%s“ Ñе не поклапа Ñа групом „%s“."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Лични директоријум кориÑника „%s“ није „%s“, занемарујем."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "ÐеуÑпешно прављење „%s“: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "ÐеуÑпешна промена групног ÑпиÑка: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "ÐеуÑпешна промена GID-а: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "ÐеуÑпешна промена UID-а: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "УÑпешно одбачена root овлашћења."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Режим за читав ÑиÑтем није подржан на овој платформи."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) није уÑпело: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "ÐеуÑпешно тумачење командне линије."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Ðалазимо Ñе у групи „%s“ која дозвољава виÑокоприоритетно раÑпоређивање."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-"Ðалазимо Ñе у групи „%s“ која дозвољава ÑтварновременÑко раÑпоређивање."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit нам је дао овлашћење за добијање виÑоког приоритета."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit одбија овлашћење за добијање виÑоког приоритета."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit нам је дао овлашћење за добијање рада у Ñтварном времену."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit одбија овлашћење за добијање рада у Ñтварном времену."
-
-#
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"SUID root и ÑтварновременÑко и/или виÑокоприоритетно раÑпоређивање је "
-"захтевано у подешавањима. Међутим, немамо потребна овлашћења:\n"
-"ниÑмо у групи „%s“, PolicyKit одбија да нам да̑ тражена овлашћења и немамо "
-"ÑредÑтава за повећање RLIMIT_NICE/RLIMIT_RTPRIO ограничења.\n"
-"Морате добити одговарајућа PolicyKit овлашћења, или поÑтати члан групе „%s“, "
-"или повећати ограничења за RLIMIT_NICE/RLIMIT_RTPRIO ÑредÑтва овог кориÑника "
-"како би омогућили ÑтварновременÑко или виÑокоприоритетно раÑпоређивање."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"ВиÑокоприоритетно раÑпоређивање је омогућено у подешавањима, али политика то "
-"не дозвољава."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "УÑпешно повећано RLIMIT_RTPRIO ограничење"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "ÐеуÑпешно поÑтављање RLIMIT_RTPRIO-а:%s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "ОдуÑтајем од CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"СтварновременÑко раÑпоређивање је омогућено у подешавањима, али политика то "
-"не дозвољава."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Демон није покренут"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Демон је покренут Ñа PID-ом %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "ÐеуÑпешно убијање демона: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -314,153 +189,153 @@ msgstr ""
"Ðије намеравано да Ñе овај програм покреће из root налога (оÑим у Ñлучају "
"када је --system наведено)"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Потребна Ñу root овлашћења."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start није подржано за ÑиÑтемÑке примерке."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "Покренуто у ÑиÑтемÑком режиму, али --disallow-exit није поÑтављено!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"Покренуто у ÑиÑтемÑком режиму, али --disallow-module-loading није поÑтављено!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "Покренуто у ÑиÑтемÑком режиму, приÑилно онемогућујем SHM режим!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"Покренуто у ÑиÑтемÑком режиму, приÑилно онемогућујем гашење поÑле одређеног "
"времена мировања!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "ÐеуÑпешно проналажење Ñтандардног улаза/излаза."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "ÐеуÑпешно пуштање података кроз цев: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "ÐеуÑпела функција fork(): %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "ÐеуÑпела функција read(): %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "ÐеуÑпешно покретање демона."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Демон уÑпешно покренут."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Ово је PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Домаћин компајлирања: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "CFLAGS компајлирања: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Покренут на домаћину: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Ðашао %u процеÑор(а)"
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Величина Ñтранице је %lu бајтова"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Компајлирано Ñа подршком за Valgrind: да"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Компајлирано Ñа подршком за Valgrind: не"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Покренут у Valgrind режиму: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Оптимизована изградња: да"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Оптимизована изградња: не"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG дефиниÑан, Ñва обавештења иÑкључена."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH дефиниÑан, Ñамо обавештења брзе путање иÑкључена."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Сва обавештења омогућена."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "ÐеуÑпешно добављање ИБ машине"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "ИБ машине је %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "ИБ машине је %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "КориÑти Ñе %s извршни директоријум."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "КориÑти Ñе %s директоријум Ñтања."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Покренуто у ÑиÑтемÑком режиму: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -470,15 +345,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "ÐеуÑпела функција pa_pid_file_create()."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "ДоÑтупни Ñу нови бројачи виÑоке резолуције! Пријатно!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -486,27 +361,27 @@ msgstr ""
"Ваше језгро није добро подешено за pulseaudio! Препоручује Вам Ñе да "
"кориÑтите Linux језгро Ñа омогућеним бројачима виÑоке резолуције."
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "ÐеуÑпела функција pa_core_new()."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "ÐеуÑпешно покретање демона."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Демон је покренут без иједног учитаног модула, одбија да ради."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Покретање демона уÑпешно."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Покренуто гашење демона."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Рад демона је прекинут."
@@ -850,14 +725,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Прочитај из датотеке подешавања: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Одбацујем root повлаÑтице."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "УÑпешно ограничио могућноÑти на CAP_SYS_NICE."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio звучни ÑиÑтем"
@@ -866,30 +737,6 @@ msgstr "PulseAudio звучни ÑиÑтем"
msgid "Start the PulseAudio Sound System"
msgstr "Покрени PulseAudio звучни ÑиÑтем"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"ВиÑокоприоритетно раÑпоређивање (негативни Unix нивои финоће, тј. nice "
-"нивои) за PulseAudio демона"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "СтварновременÑко раÑпоређивање за PulseAudio демона"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"СиÑтемÑка политика Ñпречава PulseAudio-у да добије виÑокоприоритетно "
-"раÑпоређивање."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"СиÑтемÑка политика Ñпречава PulseAudio-у да добије ÑтварновременÑко "
-"раÑпоређивање."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Моно"
@@ -1263,183 +1110,187 @@ msgstr "ÐеуÑпешно тумачење података из колачић
msgid "Failed to open configuration file '%s': %s"
msgstr "ÐеуÑпешно отварање датотеке подешавања „%s“: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "Колачић није учитан. Покушавам Ñе повезати без колачића."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Примио поруку за непознати локал „%s“"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "ÐеуÑпешно иÑушивање тока: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Репродукциони ток иÑушен.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Веза до Ñервера Ñе иÑушује.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "ÐеуÑпела функција pa_stream_write(): %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "ÐеуÑпела функција pa_stream_write(): %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "ÐеуÑпела функција pa_stream_peek(): %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Ток уÑпешно направљен.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "ÐеуÑпешно pa_stream_get_buffer_attr(): %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Метрике бафера: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Метрике бафера: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "КориÑтим Ñледеће параметре узорка „%s“ и мапу канала „%s“.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "Прикључен на уређај %s (%u, %s обуÑтављено).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Грешка тока: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Уређај тока обуÑтављен.%s\n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Уређај тока наÑтављен.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Ток није попуњен. %s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Ток Ñе прелива.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Ток покренут. %s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Ток пребачен на уређај %s (%u, %s обуÑтављено). %s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "није"
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "Параметри бафера тока Ñу промењени. %s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Веза уÑпоÑтављена.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "ÐеуÑпела функција pa_stream_new() : %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "ÐеуÑпела функција pa_stream_connect_playback(): %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "ÐеуÑпела функција pa_stream_connect_record(): %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "ÐеуÑпешно повезивање: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Дошао до краја датотеке.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "ÐеуÑпела функција read(): %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "Дошао до краја датотеке.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "ÐеуÑпела функција write(): %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Добио Ñигнал, излазим.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Ðемогу добити вредноÑÑ‚ кашњења: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Време: %0.3f s. Кашњење: %0.0f μs. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "ÐеуÑпела функција pa_stream_update_timing_info(): %s\n"
# Шта да радимо Ñа downmix и upmix. ПреÑликај навише и преÑликај наниже? -- Игор
@@ -1558,34 +1409,34 @@ msgstr ""
"Компајлирано Ñа libpulse %s\n"
"Повезано Ñа libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "ÐеиÑправна мапа канала „%s“\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "ÐеиÑправан начин диÑкретизације „%s“."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "ÐеиÑправна мапа канала „%s“\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "ÐеиÑправан параметар кашњења „%s“\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "ÐеиÑправан параметар за време процеÑа „%s“\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "ÐеиÑправан начин диÑкретизације „%s“."
#: ../src/utils/pacat.c:878
@@ -1594,60 +1445,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "ÐеиÑправни параметри узорка\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Превише параметара.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "Ðије уÑпело добављање података о узорку: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Ðије уÑпело отварање звучне датотеке.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "Отварам ток %s Ñа Ñледећим параметрима узорка „%s“.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "Ðије уÑпело добављање података о узорку: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Отварам ток %s Ñа Ñледећим параметрима узорка „%s“.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "Мапа канала Ñе не поклапа Ñа параметрима узорка\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Отварам ток %s Ñа Ñледећим параметрима узорка „%s“.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "Отварам ток %s Ñа Ñледећим параметрима узорка „%s“.\n"
#: ../src/utils/pacat.c:1006
@@ -1658,35 +1515,34 @@ msgstr "Ñнима"
msgid "playback"
msgstr "пушта"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "ÐеуÑпела функција pa_mainloop_new().\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "ÐеуÑпела функција io_new() \n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "ÐеуÑпела функција pa_context_new().\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "ÐеуÑпела функција pa_context_connect(): %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "ÐеуÑпела функција time_new() \n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "ÐеуÑпела функција pa_context_new().\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "ÐеуÑпела функција pa_mainloop_run().\n"
#: ../src/utils/pasuspender.c:81
@@ -1714,6 +1570,11 @@ msgstr "ÐеуÑпешно наÑтављање: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "УПОЗОРЕЊЕ: Звучни Ñервер није локални, не зауÑтављам.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "ÐеуÑпешно повезивање: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1753,6 +1614,21 @@ msgstr ""
"Компајлирано Ñа libpulse %s\n"
"Повезано Ñа libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "ÐеуÑпела функција pa_mainloop_new().\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "ÐеуÑпела функција pa_context_new().\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "ÐеуÑпела функција pa_mainloop_run().\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2167,6 +2043,11 @@ msgstr ""
"Компајлирано Ñа libpulse %s\n"
"Повезано Ñа libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "ÐеиÑправна мапа канала „%s“\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Ðаведите датотеку узорка коју треба учитати\n"
@@ -2175,6 +2056,11 @@ msgstr "Ðаведите датотеку узорка коју треба учÐ
msgid "Failed to open sound file.\n"
msgstr "Ðије уÑпело отварање звучне датотеке.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Ðије уÑпело добављање података о узорку: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2234,11 +2120,6 @@ msgstr "Морате навеÑти име/Ð¸Ð½Ð´ÐµÐºÑ ÐºÐ°Ñ€Ñ‚Ð¸Ñ†Ðµ и име
msgid "No valid command specified.\n"
msgstr "Ðи једна иÑправна наредба није наведена.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "ÐеуÑпела функција pa_context_connect(): %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2358,11 +2239,11 @@ msgid "write(): %s"
msgstr "write(): %s"
# Како превеÑти autospawn (могућноÑÑ‚ прављења или покретања процеÑа из иÑтог) -- Игор
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Ðије могуће приÑтупити датотеци закључавања за Ñамоумножавање."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2379,7 +2260,7 @@ msgstr ""
"Пробуђени Ñмо Ñа поÑтављеним POLLOUT-ом -- али Ñледећи snd_pcm_avail() је "
"вратио 0 или неку другу вредноÑÑ‚ мању од min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2397,15 +2278,15 @@ msgstr ""
"вратио 0 или неку другу вредноÑÑ‚ мању од min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "ИÑкључено"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Репродукција виÑоке тачноÑти (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "ДвоÑтрано телефонирање (HSP/HFP)"
@@ -2413,6 +2294,140 @@ msgstr "ДвоÑтрано телефонирање (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio звучни ÑиÑтем"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Ðије Ñе могуће прикључити на ÑиÑтемÑку магиÑтралу: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Ðе могу добавити позивника из PID-а: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Ðе могу поÑтавити UID за позивнички објекат."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "ÐеуÑпешно добављање CK ÑеÑије."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Ðе могу поÑтавити UID за објекат ÑеÑије."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Ðе могу поÑтавити PolKitAction."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Ðе могу поÑтавити action_id"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Ðе могу поÑтавити PolKitContext."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Ðе могу иницијализовати PolKitContex: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Ðије могуће одредити овлашћење позивника: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Ðе могу добити овлашћење: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit је одговорио Ñа „%s“"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "ВиÑокоприоритетно раÑпоређивање (негативни Unix нивои финоће, тј. nice "
+#~ "нивои) за PulseAudio демона"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "СтварновременÑко раÑпоређивање за PulseAudio демона"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "СиÑтемÑка политика Ñпречава PulseAudio-у да добије виÑокоприоритетно "
+#~ "раÑпоређивање."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "СиÑтемÑка политика Ñпречава PulseAudio-у да добије ÑтварновременÑко "
+#~ "раÑпоређивање."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "ÐеуÑпела функција read(): %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "ÐеуÑпела функција pa_context_connect(): %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Ðалазимо Ñе у групи „%s“ која дозвољава виÑокоприоритетно раÑпоређивање."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "Ðалазимо Ñе у групи „%s“ која дозвољава ÑтварновременÑко раÑпоређивање."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit нам је дао овлашћење за добијање виÑоког приоритета."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit одбија овлашћење за добијање виÑоког приоритета."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit нам је дао овлашћење за добијање рада у Ñтварном времену."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit одбија овлашћење за добијање рада у Ñтварном времену."
+
+#
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "SUID root и ÑтварновременÑко и/или виÑокоприоритетно раÑпоређивање је "
+#~ "захтевано у подешавањима. Међутим, немамо потребна овлашћења:\n"
+#~ "ниÑмо у групи „%s“, PolicyKit одбија да нам да̑ тражена овлашћења и "
+#~ "немамо ÑредÑтава за повећање RLIMIT_NICE/RLIMIT_RTPRIO ограничења.\n"
+#~ "Морате добити одговарајућа PolicyKit овлашћења, или поÑтати члан групе „%"
+#~ "s“, или повећати ограничења за RLIMIT_NICE/RLIMIT_RTPRIO ÑредÑтва овог "
+#~ "кориÑника како би омогућили ÑтварновременÑко или виÑокоприоритетно "
+#~ "раÑпоређивање."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "ВиÑокоприоритетно раÑпоређивање је омогућено у подешавањима, али политика "
+#~ "то не дозвољава."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "УÑпешно повећано RLIMIT_RTPRIO ограничење"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "ÐеуÑпешно поÑтављање RLIMIT_RTPRIO-а:%s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "ОдуÑтајем од CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "СтварновременÑко раÑпоређивање је омогућено у подешавањима, али политика "
+#~ "то не дозвољава."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "УÑпешно ограничио могућноÑти на CAP_SYS_NICE."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "ÐеуÑпела функција time_new() \n"
+
#~ msgid "Analog Mono"
#~ msgstr "Ðналогни моно"
diff --git a/po/sr@latin.po b/po/sr@latin.po
index e5b0f7b1..ddbacadf 100644
--- a/po/sr@latin.po
+++ b/po/sr@latin.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-07 23:02+0100\n"
"Last-Translator: MiloÅ¡ KomarÄević <kmilos@gmail.com>\n"
"Language-Team: Serbian <fedora-trans-sr@redhat.com>\n"
@@ -19,7 +19,12 @@ msgstr ""
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 0.3\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -32,7 +37,7 @@ msgstr ""
"Ovo je najverovatnije greÅ¡ka u „%s“ ALSA upravljaÄkom programu. Prijavite "
"ovaj problem ALSA programerima."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -45,7 +50,7 @@ msgstr ""
"Ovo je najverovatnije greÅ¡ka u „%s“ ALSA upravljaÄkom programu. Prijavite "
"ovaj problem ALSA programerima."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -71,7 +76,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Unutrašnji zvuk"
@@ -91,223 +96,92 @@ msgstr "NeuspeÅ¡no smeÅ¡tanje novog dl uÄitavaÄa."
msgid "Failed to add bind-now-loader."
msgstr "NeuspeÅ¡no dodavanje „poveži odmah“ uÄitavaÄa."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Nije se moguće prikljuÄiti na sistemsku magistralu: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Ne mogu dobaviti pozivnika iz PID-a: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Ne mogu postaviti UID za pozivniÄki objekat."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Neuspešno dobavljanje CK sesije."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Ne mogu postaviti UID za objekat sesije."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Ne mogu postaviti PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Ne mogu postaviti action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Ne mogu postaviti PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Ne mogu inicijalizovati PolKitContex: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Nije moguće odrediti ovlašćenje pozivnika: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Ne mogu dobiti ovlašćenje: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit je odgovorio sa „%s“"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Dobih signal %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Napuštam."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Ne mogu naći korisnika „%s“."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Ne mogu naći grupu „%s“."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Nađeni su korisnik „%s“ (UID %lu) i grupa „%s“ (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID korisnika „%s“ se ne poklapa sa grupom „%s“."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "LiÄni direktorijum korisnika „%s“ nije „%s“, zanemarujem."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Neuspešno pravljenje „%s“: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Neuspešna promena grupnog spiska: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Neuspešna promena GID-a: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Neuspešna promena UID-a: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "UspeÅ¡no odbaÄena root ovlašćenja."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "Režim za Äitav sistem nije podržan na ovoj platformi."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) nije uspelo: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "NeuspeÅ¡no tumaÄenje komandne linije."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Nalazimo se u grupi „%s“ koja dozvoljava visokoprioritetno raspoređivanje."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-"Nalazimo se u grupi „%s“ koja dozvoljava stvarnovremensko raspoređivanje."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit nam je dao ovlašćenje za dobijanje visokog prioriteta."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit odbija ovlašćenje za dobijanje visokog prioriteta."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit nam je dao ovlašćenje za dobijanje rada u stvarnom vremenu."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit odbija ovlašćenje za dobijanje rada u stvarnom vremenu."
-
-#
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"SUID root i stvarnovremensko i/ili visokoprioritetno raspoređivanje je "
-"zahtevano u podešavanjima. Međutim, nemamo potrebna ovlašćenja:\n"
-"nismo u grupi „%s“, PolicyKit odbija da nam dȃ tražena ovlašćenja i nemamo "
-"sredstava za povećanje RLIMIT_NICE/RLIMIT_RTPRIO ograniÄenja.\n"
-"Morate dobiti odgovarajuća PolicyKit ovlašćenja, ili postati Älan grupe „%"
-"s“, ili povećati ograniÄenja za RLIMIT_NICE/RLIMIT_RTPRIO sredstva ovog "
-"korisnika kako bi omogućili stvarnovremensko ili visokoprioritetno "
-"raspoređivanje."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Visokoprioritetno raspoređivanje je omogućeno u podešavanjima, ali politika "
-"to ne dozvoljava."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "UspeÅ¡no povećano RLIMIT_RTPRIO ograniÄenje"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "Neuspešno postavljanje RLIMIT_RTPRIO-a:%s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "Odustajem od CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"Stvarnovremensko raspoređivanje je omogućeno u podešavanjima, ali politika "
-"to ne dozvoljava."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Demon nije pokrenut"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Demon je pokrenut sa PID-om %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Neuspešno ubijanje demona: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -315,154 +189,154 @@ msgstr ""
"Nije nameravano da se ovaj program pokreće iz root naloga (osim u sluÄaju "
"kada je --system navedeno)"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Potrebna su root ovlašćenja."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start nije podržano za sistemske primerke."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "Pokrenuto u sistemskom režimu, ali --disallow-exit nije postavljeno!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"Pokrenuto u sistemskom režimu, ali --disallow-module-loading nije "
"postavljeno!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "Pokrenuto u sistemskom režimu, prisilno onemogućujem SHM režim!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"Pokrenuto u sistemskom režimu, prisilno onemogućujem gašenje posle određenog "
"vremena mirovanja!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Neuspešno pronalaženje standardnog ulaza/izlaza."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "Neuspešno puštanje podataka kroz cev: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "Neuspela funkcija fork(): %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "Neuspela funkcija read(): %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Neuspešno pokretanje demona."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Demon uspešno pokrenut."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Ovo je PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Domaćin kompajliranja: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "CFLAGS kompajliranja: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Pokrenut na domaćinu: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Našao %u procesor(a)"
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "VeliÄina stranice je %lu bajtova"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Kompajlirano sa podrškom za Valgrind: da"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Kompajlirano sa podrškom za Valgrind: ne"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "Pokrenut u Valgrind režimu: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimizovana izgradnja: da"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Optimizovana izgradnja: ne"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG definisan, sva obaveÅ¡tenja iskljuÄena."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH definisan, samo obaveÅ¡tenja brze putanje iskljuÄena."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "Sva obaveštenja omogućena."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Neuspešno dobavljanje IB mašine"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "IB mašine je %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "IB mašine je %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Koristi se %s izvršni direktorijum."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Koristi se %s direktorijum stanja."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "Pokrenuto u sistemskom režimu: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -472,15 +346,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "Neuspela funkcija pa_pid_file_create()."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "Dostupni su novi brojaÄi visoke rezolucije! Prijatno!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -488,27 +362,27 @@ msgstr ""
"VaÅ¡e jezgro nije dobro podeÅ¡eno za pulseaudio! PreporuÄuje Vam se da "
"koristite Linux jezgro sa omogućenim brojaÄima visoke rezolucije."
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "Neuspela funkcija pa_core_new()."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Neuspešno pokretanje demona."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "Demon je pokrenut bez ijednog uÄitanog modula, odbija da radi."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "Pokretanje demona uspešno."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Pokrenuto gašenje demona."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Rad demona je prekinut."
@@ -852,14 +726,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### ProÄitaj iz datoteke podeÅ¡avanja: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "Odbacujem root povlastice."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "UspeÅ¡no ograniÄio mogućnosti na CAP_SYS_NICE."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio zvuÄni sistem"
@@ -868,30 +738,6 @@ msgstr "PulseAudio zvuÄni sistem"
msgid "Start the PulseAudio Sound System"
msgstr "Pokreni PulseAudio zvuÄni sistem"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"Visokoprioritetno raspoređivanje (negativni Unix nivoi finoće, tj. nice "
-"nivoi) za PulseAudio demona"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "Stvarnovremensko raspoređivanje za PulseAudio demona"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"Sistemska politika spreÄava PulseAudiu da dobije visokoprioritetno "
-"raspoređivanje."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-"Sistemska politika spreÄava PulseAudiu da dobije stvarnovremensko "
-"raspoređivanje."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1265,183 +1111,187 @@ msgstr "NeuspeÅ¡no tumaÄenje podataka iz kolaÄića"
msgid "Failed to open configuration file '%s': %s"
msgstr "Neuspešno otvaranje datoteke podešavanja „%s“: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "KolaÄić nije uÄitan. PokuÅ¡avam se povezati bez kolaÄića."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Primio poruku za nepoznati lokal „%s“"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Neuspešno isušivanje toka: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Reprodukcioni tok isušen.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Veza do servera se isušuje.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "Neuspela funkcija pa_stream_write(): %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "Neuspela funkcija pa_stream_write(): %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "Neuspela funkcija pa_stream_peek(): %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Tok uspešno napravljen.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "Neuspešno pa_stream_get_buffer_attr(): %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Metrike bafera: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Metrike bafera: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "Koristim sledeće parametre uzorka „%s“ i mapu kanala „%s“.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "PrikljuÄen na ureÄ‘aj %s (%u, %s obustavljeno).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Greška toka: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Uređaj toka obustavljen.%s\n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Uređaj toka nastavljen.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "Tok nije popunjen. %s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "Tok se preliva.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Tok pokrenut. %s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Tok prebaÄen na ureÄ‘aj %s (%u, %s obustavljeno). %s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "nije"
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "Parametri bafera toka su promenjeni. %s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Veza uspostavljena.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "Neuspela funkcija pa_stream_new() : %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "Neuspela funkcija pa_stream_connect_playback(): %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "Neuspela funkcija pa_stream_connect_record(): %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Neuspešno povezivanje: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Došao do kraja datoteke.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "Neuspela funkcija read(): %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "Došao do kraja datoteke.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "Neuspela funkcija write(): %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Dobio signal, izlazim.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Nemogu dobiti vrednost kašnjenja: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Vreme: %0.3f s. Kašnjenje: %0.0f μs. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "Neuspela funkcija pa_stream_update_timing_info(): %s\n"
# Šta da radimo sa downmix i upmix. Preslikaj naviše i preslikaj naniže? -- Igor
@@ -1561,34 +1411,34 @@ msgstr ""
"Kompajlirano sa libpulse %s\n"
"Povezano sa libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "Neispravna mapa kanala „%s“\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "Neispravan naÄin diskretizacije „%s“."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Neispravna mapa kanala „%s“\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Neispravan parametar kašnjenja „%s“\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Neispravan parametar za vreme procesa „%s“\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "Neispravan naÄin diskretizacije „%s“."
#: ../src/utils/pacat.c:878
@@ -1597,60 +1447,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Neispravni parametri uzorka\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Previše parametara.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "Nije uspelo dobavljanje podataka o uzorku: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Nije uspelo otvaranje zvuÄne datoteke.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "Otvaram tok %s sa sledećim parametrima uzorka „%s“.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "Nije uspelo dobavljanje podataka o uzorku: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Otvaram tok %s sa sledećim parametrima uzorka „%s“.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "Mapa kanala se ne poklapa sa parametrima uzorka\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Otvaram tok %s sa sledećim parametrima uzorka „%s“.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "Otvaram tok %s sa sledećim parametrima uzorka „%s“.\n"
#: ../src/utils/pacat.c:1006
@@ -1661,35 +1517,34 @@ msgstr "snima"
msgid "playback"
msgstr "pušta"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "Neuspela funkcija pa_mainloop_new().\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "Neuspela funkcija io_new() \n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "Neuspela funkcija pa_context_new().\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "Neuspela funkcija pa_context_connect(): %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "Neuspela funkcija time_new() \n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "Neuspela funkcija pa_context_new().\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "Neuspela funkcija pa_mainloop_run().\n"
#: ../src/utils/pasuspender.c:81
@@ -1717,6 +1572,11 @@ msgstr "Neuspešno nastavljanje: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "UPOZORENJE: ZvuÄni server nije lokalni, ne zaustavljam.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Neuspešno povezivanje: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1756,6 +1616,21 @@ msgstr ""
"Kompajlirano sa libpulse %s\n"
"Povezano sa libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "Neuspela funkcija pa_mainloop_new().\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "Neuspela funkcija pa_context_new().\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "Neuspela funkcija pa_mainloop_run().\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2170,6 +2045,11 @@ msgstr ""
"Kompajlirano sa libpulse %s\n"
"Povezano sa libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Neispravna mapa kanala „%s“\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Navedite datoteku uzorka koju treba uÄitati\n"
@@ -2178,6 +2058,11 @@ msgstr "Navedite datoteku uzorka koju treba uÄitati\n"
msgid "Failed to open sound file.\n"
msgstr "Nije uspelo otvaranje zvuÄne datoteke.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Nije uspelo dobavljanje podataka o uzorku: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2237,11 +2122,6 @@ msgstr "Morate navesti ime/indeks kartice i ime profila\n"
msgid "No valid command specified.\n"
msgstr "Ni jedna ispravna naredba nije navedena.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "Neuspela funkcija pa_context_connect(): %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2361,11 +2241,11 @@ msgid "write(): %s"
msgstr "write(): %s"
# Kako prevesti autospawn (mogućnost pravljenja ili pokretanja procesa iz istog) -- Igor
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Nije moguće pristupiti datoteci zakljuÄavanja za samoumnožavanje."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2382,7 +2262,7 @@ msgstr ""
"Probuđeni smo sa postavljenim POLLOUT-om -- ali sledeći snd_pcm_avail() je "
"vratio 0 ili neku drugu vrednost manju od min_avail."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2400,15 +2280,15 @@ msgstr ""
"vratio 0 ili neku drugu vrednost manju od min_avail."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "IskljuÄeno"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "Reprodukcija visoke taÄnosti (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "Dvostrano telefoniranje (HSP/HFP)"
@@ -2416,6 +2296,141 @@ msgstr "Dvostrano telefoniranje (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio zvuÄni sistem"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Nije se moguće prikljuÄiti na sistemsku magistralu: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Ne mogu dobaviti pozivnika iz PID-a: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Ne mogu postaviti UID za pozivniÄki objekat."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Neuspešno dobavljanje CK sesije."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Ne mogu postaviti UID za objekat sesije."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Ne mogu postaviti PolKitAction."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Ne mogu postaviti action_id"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Ne mogu postaviti PolKitContext."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Ne mogu inicijalizovati PolKitContex: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Nije moguće odrediti ovlašćenje pozivnika: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Ne mogu dobiti ovlašćenje: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit je odgovorio sa „%s“"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "Visokoprioritetno raspoređivanje (negativni Unix nivoi finoće, tj. nice "
+#~ "nivoi) za PulseAudio demona"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "Stvarnovremensko raspoređivanje za PulseAudio demona"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Sistemska politika spreÄava PulseAudiu da dobije visokoprioritetno "
+#~ "raspoređivanje."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr ""
+#~ "Sistemska politika spreÄava PulseAudiu da dobije stvarnovremensko "
+#~ "raspoređivanje."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "Neuspela funkcija read(): %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "Neuspela funkcija pa_context_connect(): %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Nalazimo se u grupi „%s“ koja dozvoljava visokoprioritetno raspoređivanje."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "Nalazimo se u grupi „%s“ koja dozvoljava stvarnovremensko raspoređivanje."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit nam je dao ovlašćenje za dobijanje visokog prioriteta."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit odbija ovlašćenje za dobijanje visokog prioriteta."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr ""
+#~ "PolicyKit nam je dao ovlašćenje za dobijanje rada u stvarnom vremenu."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit odbija ovlašćenje za dobijanje rada u stvarnom vremenu."
+
+#
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "SUID root i stvarnovremensko i/ili visokoprioritetno raspoređivanje je "
+#~ "zahtevano u podešavanjima. Međutim, nemamo potrebna ovlašćenja:\n"
+#~ "nismo u grupi „%s“, PolicyKit odbija da nam dȃ tražena ovlašćenja i "
+#~ "nemamo sredstava za povećanje RLIMIT_NICE/RLIMIT_RTPRIO ograniÄenja.\n"
+#~ "Morate dobiti odgovarajuća PolicyKit ovlašćenja, ili postati Älan grupe „%"
+#~ "s“, ili povećati ograniÄenja za RLIMIT_NICE/RLIMIT_RTPRIO sredstva ovog "
+#~ "korisnika kako bi omogućili stvarnovremensko ili visokoprioritetno "
+#~ "raspoređivanje."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "Visokoprioritetno raspoređivanje je omogućeno u podešavanjima, ali "
+#~ "politika to ne dozvoljava."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "UspeÅ¡no povećano RLIMIT_RTPRIO ograniÄenje"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "Neuspešno postavljanje RLIMIT_RTPRIO-a:%s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "Odustajem od CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "Stvarnovremensko raspoređivanje je omogućeno u podešavanjima, ali "
+#~ "politika to ne dozvoljava."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "UspeÅ¡no ograniÄio mogućnosti na CAP_SYS_NICE."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "Neuspela funkcija time_new() \n"
+
#~ msgid "Analog Mono"
#~ msgstr "Analogni mono"
diff --git a/po/sv.po b/po/sv.po
index 3f91c9ae..3bf80f2c 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2008-09-05 18:24+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -15,7 +15,12 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -24,7 +29,7 @@ msgid ""
"to the ALSA developers."
msgstr ""
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -33,7 +38,7 @@ msgid ""
"to the ALSA developers."
msgstr ""
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -55,7 +60,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
#, fuzzy
msgid "Internal Audio"
msgstr "Internt fel"
@@ -77,208 +82,92 @@ msgstr "Misslyckades med att öppna ljudfil.\n"
msgid "Failed to add bind-now-loader."
msgstr ""
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr ""
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr ""
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr ""
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr ""
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr ""
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr ""
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr ""
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit svarade med \"%s\""
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Fick signal %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Avslutar."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Misslyckades med att hitta användaren \"%s\"."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Misslyckades med att hitta gruppen \"%s\"."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr ""
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr ""
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Hemkatalogen för användaren \"%s\" är inte \"%s\", ignorerar."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Misslyckades med att skapa \"%s\": %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr ""
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr ""
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr ""
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr ""
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr ""
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) misslyckades: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr ""
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr ""
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr ""
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr ""
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr ""
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr ""
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO misslyckades: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr ""
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr ""
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr ""
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr ""
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -286,151 +175,151 @@ msgstr ""
"Detta program är inte tänkt att köras som root (såvida inte --system har "
"angivits)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
#, fuzzy
msgid "Root privileges required."
msgstr "Root-behörighet krävs."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start stöds inte för systeminstanser."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr ""
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr ""
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr ""
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "pipe misslyckades: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() misslyckades: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() misslyckades: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr ""
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr ""
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Detta är PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr ""
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr ""
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr ""
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr ""
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr ""
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr ""
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr ""
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr ""
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr ""
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr ""
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr ""
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr ""
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr ""
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr ""
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr ""
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, c-format
msgid "Session ID is %s."
msgstr ""
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr ""
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr ""
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr ""
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -440,41 +329,41 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() misslyckades."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr ""
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
msgstr ""
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() misslyckades."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr ""
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr ""
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr ""
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr ""
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr ""
@@ -739,15 +628,11 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr ""
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
#, fuzzy
msgid "Dropping root privileges."
msgstr "Släpper root-behörighet."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr ""
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr ""
@@ -756,24 +641,6 @@ msgstr ""
msgid "Start the PulseAudio Sound System"
msgstr ""
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Mono"
@@ -1147,183 +1014,184 @@ msgstr ""
msgid "Failed to open configuration file '%s': %s"
msgstr "Misslyckades med att öppna konfigurationsfilen \"%s\": %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr ""
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr ""
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
+msgstr "Misslyckades med att hitta användaren \"%s\"."
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+msgid "Playback stream drained."
msgstr ""
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+msgid "Draining connection to server."
msgstr ""
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() misslyckades: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() misslyckades: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() misslyckades: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+msgid "Stream successfully created."
msgstr ""
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() misslyckades: %s\n"
-#: ../src/utils/pacat.c:309
+#: ../src/utils/pacat.c:314
#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr ""
-#: ../src/utils/pacat.c:312
+#: ../src/utils/pacat.c:317
#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr ""
-#: ../src/utils/pacat.c:316
+#: ../src/utils/pacat.c:321
#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+msgid "Using sample spec '%s', channel map '%s'."
msgstr ""
-#: ../src/utils/pacat.c:320
+#: ../src/utils/pacat.c:325
#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr ""
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Strömfel: %s\n"
-#: ../src/utils/pacat.c:340
+#: ../src/utils/pacat.c:345
#, c-format
-msgid "Stream device suspended.%s \n"
+msgid "Stream device suspended.%s"
msgstr ""
-#: ../src/utils/pacat.c:342
+#: ../src/utils/pacat.c:347
#, c-format
-msgid "Stream device resumed.%s \n"
+msgid "Stream device resumed.%s"
msgstr ""
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
-msgstr ""
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
+msgstr "Strömfel: %s\n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
-msgstr ""
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
+msgstr "Strömfel: %s\n"
-#: ../src/utils/pacat.c:364
+#: ../src/utils/pacat.c:369
#, c-format
-msgid "Stream started.%s \n"
+msgid "Stream started.%s"
msgstr ""
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr ""
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "inte "
-#: ../src/utils/pacat.c:378
+#: ../src/utils/pacat.c:383
#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+msgid "Stream buffer attributes changed.%s"
msgstr ""
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
-msgstr ""
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
+msgstr "Anslutning etablerad.\n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() misslyckades: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() misslyckades: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() misslyckades: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Anslutningsfel: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Fick filslut.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() misslyckades: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "Fick filslut.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() misslyckades: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
-msgstr ""
-
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
-msgstr ""
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
+msgstr "Fick signal %s."
#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
+msgstr "Misslyckades med att få statistik: %s\n"
+
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Tid: %0.3f sec; Latens: %0.0f ms \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() misslyckades: %s\n"
#: ../src/utils/pacat.c:605
@@ -1394,34 +1262,34 @@ msgid ""
"Linked with libpulse %s\n"
msgstr ""
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
-#, c-format
-msgid "Invalid client name '%s'\n"
-msgstr ""
+#: ../src/utils/pacat.c:760
+#, fuzzy, c-format
+msgid "Invalid client name '%s'"
+msgstr "Ogiltig server"
#: ../src/utils/pacat.c:776
-#, c-format
-msgid "Invalid stream name '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Invalid stream name '%s'"
+msgstr "Ogiltig server"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
+msgstr "Ogiltig server"
#: ../src/utils/pacat.c:842
#, c-format
-msgid "Invalid latency specification '%s'\n"
+msgid "Invalid latency specification '%s'"
msgstr ""
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
+msgstr "Ogiltig server"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "Ogiltig server"
#: ../src/utils/pacat.c:878
@@ -1430,59 +1298,63 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
-msgstr ""
+#, fuzzy
+msgid "Invalid sample specification"
+msgstr "Misslyckades med att få modulinformation: %s\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "För många argument.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "Misslyckades med att få modulinformation: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Misslyckades med att öppna ljudfil.\n"
#: ../src/utils/pacat.c:956
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
+"specification from file."
msgstr ""
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
-msgid "Failed to determine sample specification from file.\n"
-msgstr ""
+#: ../src/utils/pacat.c:959
+#, fuzzy
+msgid "Failed to determine sample specification from file."
+msgstr "Misslyckades med att få modulinformation: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
+msgid "Warning: Failed to determine channel map from file."
msgstr ""
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
-msgstr ""
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
+msgstr "Misslyckades med att få modulinformation: %s\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
+msgid "Warning: failed to write channel map to file."
msgstr ""
#: ../src/utils/pacat.c:1005
#, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr ""
#: ../src/utils/pacat.c:1006
@@ -1493,35 +1365,34 @@ msgstr ""
msgid "playback"
msgstr ""
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() misslyckades.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() misslyckades.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() misslyckades.\n"
-#: ../src/utils/pacat.c:1066
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_new() misslyckades.\n"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() misslyckades.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() misslyckades.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() misslyckades.\n"
#: ../src/utils/pasuspender.c:81
@@ -1549,6 +1420,11 @@ msgstr ""
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr ""
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Anslutningsfel: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1582,6 +1458,21 @@ msgstr ""
"Kompilerad med libpulse %s\n"
"Länkad med libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() misslyckades.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() misslyckades.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() misslyckades.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -1874,6 +1765,11 @@ msgstr ""
"Kompilerad med libpulse %s\n"
"Länkad med libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, c-format
+msgid "Invalid client name '%s'\n"
+msgstr ""
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr ""
@@ -1882,6 +1778,10 @@ msgstr ""
msgid "Failed to open sound file.\n"
msgstr "Misslyckades med att öppna ljudfil.\n"
+#: ../src/utils/pactl.c:944
+msgid "Failed to determine sample specification from file.\n"
+msgstr ""
+
#: ../src/utils/pactl.c:951
msgid "Warning: Failed to determine sample specification from file.\n"
msgstr ""
@@ -1938,11 +1838,6 @@ msgstr ""
msgid "No valid command specified.\n"
msgstr ""
-#: ../src/utils/pactl.c:1122
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_new() misslyckades.\n"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2052,11 +1947,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr ""
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2067,7 +1962,7 @@ msgid ""
"returned 0 or another value < min_avail."
msgstr ""
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2079,15 +1974,15 @@ msgid ""
msgstr ""
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr ""
@@ -2095,8 +1990,21 @@ msgstr ""
msgid "PulseAudio Sound Server"
msgstr ""
-#~ msgid "Connection established.\n"
-#~ msgstr "Anslutning etablerad.\n"
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit svarade med \"%s\""
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() misslyckades: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_new() misslyckades.\n"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO misslyckades: %s"
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() misslyckades.\n"
#~ msgid ""
#~ "paplay %s\n"
diff --git a/po/ta.po b/po/ta.po
index a10b0168..73da25ed 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-12 05:02+0530\n"
"Last-Translator: I. Felix <ifelix@redhat.com>\n"
"Language-Team: Tamil <fedora-trans-ta@redhat.com>\n"
@@ -34,7 +34,12 @@ msgstr ""
"\n"
"\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -47,7 +52,7 @@ msgstr ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -60,7 +65,7 @@ msgstr ""
"Most likely this is a bug in the ALSA driver '%s'. Please report this issue "
"to the ALSA developers."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -86,7 +91,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "உடà¯à®ªà¯à®± ஆடியோ"
@@ -106,373 +111,242 @@ msgstr "பà¯à®¤à®¿à®¯ dl à®à®±à¯à®±à¯à®ªà®µà®°à¯ˆ ஒதà¯à®•à¯à®•à®¿à®°à
msgid "Failed to add bind-now-loader."
msgstr "இபà¯à®ªà¯‹à®¤à¯ பிணைகà¯à®•à¯à®®à¯ à®à®±à¯à®ªà®¿à®¯à¯ˆ சேரà¯à®ªà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "கணினி பஸà¯à®¸à¯ˆ இணைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID லிரà¯à®¨à¯à®¤à¯ அழைபà¯à®ªà®¾à®³à®°à¯ˆ பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "UID கà¯à®•à¯ அழைபà¯à®ªà®¾à®³à®°à¯ பொரà¯à®³à¯ˆ அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK அமரà¯à®µà¯ˆ பெறà¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "அமரà¯à®µà¯ பொரà¯à®³à®¿à®²à¯ UID஠அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction஠ஒதà¯à®•à¯à®• இயலவிலà¯à®²à¯ˆ."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "செயலை அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ (_i)"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext஠ஒஉகà¯à®•à®¿à®Ÿ à®®à¯à®Ÿà®¿à®¯à®šà®µà®¿à®²à¯à®²à¯ˆ."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext஠தà¯à®µà®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "அழைபà¯à®ªà®¾à®³à®°à¯ à®…à®™à¯à®•à¯€à®•à®°à®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®µà®°à®¾ எனà¯à®ªà®¯à¯ˆ நிசà¯à®šà®¯à®¿à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "auth஠பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "'%s'உடன௠பாலிஸிகிட௠ஒதà¯à®¤à¯à®ªà¯‹à®•à®¿à®±à®¤à¯"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "%sகà¯à®•à¯ சிகà¯à®©à®²à¯ கிடைதà¯à®¤à¯à®µà®¿à®Ÿà¯à®Ÿà®¤à¯."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "வெளியேறà¯à®¤à®²à¯."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "'%s' பயனரை கணà¯à®Ÿà¯à®ªà®¿à®Ÿà®¿à®ªà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "'%s' கà¯à®´à¯à®µà¯ˆ கணà¯à®Ÿà¯à®ªà®¿à®Ÿà®¿à®ªà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "'%s'பயனர௠கணà¯à®Ÿà¯à®ªà®¿à®Ÿà®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¾à®°à¯ (UID %lu) மறà¯à®±à¯à®®à¯ கà¯à®´à¯ '%s' (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID ன௠பயனர௠'%s' மறà¯à®±à¯à®®à¯ '%s' கà¯à®´à¯à®µà¯à®Ÿà®©à¯ ஒதà¯à®¤à¯ போகவிலà¯à®²à¯ˆ."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "à®®à¯à®•à®ªà¯à®ªà¯ அடைவ௠பயனரான'%s' '%s'ஆலà¯, பà¯à®±à®•à¯à®•à®£à®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s'஠உரà¯à®µà®¾à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "கà¯à®´à¯à®ªà¯ படà¯à®Ÿà®¿à®¯à®²à¯ˆ மாறà¯à®± à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GIDகà¯à®•à¯ மாறà¯à®±à¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UIDகà¯à®•à¯ மாறà¯à®±à¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "ரூட௠மà¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•à®³à¯ வெறà¯à®±à®¿à®•à®°à®®à®¾à®• விடபà¯à®ªà®Ÿà¯à®Ÿà®¤à¯."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "இநà¯à®¤ தளதà¯à®¤à®¿à®²à¯ கணினியின௠திறநà¯à®¤ à®®à¯à®±à¯ˆà®®à¯ˆ தà¯à®£à¯ˆà®ªà¯à®°à®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "கடà¯à®Ÿà®³à¯ˆ வரியை மாறà¯à®±à¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"நாம௠கà¯à®´à¯ '%s'ல௠இரà¯à®¨à¯à®¤ போத௠, உயரà¯à®¨à¯à®¤ à®®à¯à®¤à®©à¯à®®à¯ˆ அடà¯à®Ÿà®µà®£à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤ அனà¯à®®à®¤à®¿ "
-"அளிகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¿à®°à¯à®¨à¯à®¤à®¤à¯."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "கà¯à®´à¯ '%s'இல௠இரà¯à®•à¯à®•à®¿à®±à¯‹à®®à¯, நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ அனà¯à®®à®¤à®¿à®•à¯à®•à®¿à®±à®¤à¯."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "நமகà¯à®•à®¾à®• PolicyKit உயரà¯à®¨à¯à®¤ à®®à¯à®•à¯à®•à®¿à®¯ à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯ˆ வழஙà¯à®•à¯à®•à®¿à®±à®¤à¯."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit உயரà¯à®¨à¯à®¤ à®®à¯à®•à¯à®•à®¿à®¯ à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯ˆ மறà¯à®•à¯à®•à®¿à®±à®¤à¯."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit acquire-real-time à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•à®³à¯ˆ கொடà¯à®•à¯à®•à®¿à®±à®¤à¯."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit acquire-real-time à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•à®³à¯ˆ நிராகரிகà¯à®•à®¿à®±à®¤à¯."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"உயரà¯à®¨à¯à®¤ சலà¯à®•à¯ˆà®•à®³à®¿à®©à¯ அடà¯à®Ÿà®µà®£à¯ˆà®¯à¯ˆ கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà®¿à®²à¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ ஆனால௠பாலிசியால௠"
-"அனà¯à®®à®¤à®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "வெறà¯à®±à®¿à®•à®°à®®à®¾à®• அதிகரிகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ RLIMIT_RTPRIO"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr ""
-"CAP_NICE஠மேலே கொடà¯à®•à¯à®•à®¿à®±à®¤à¯ (_N\n"
-")"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà®¿à®²à¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ ஆனால௠கொளà¯à®•à¯ˆà®¯à®¾à®²à¯ அனà¯à®®à®¤à®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®µà®¤à®¿à®²à¯à®²à¯ˆ"
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "டோமோன௠இயஙà¯à®•à®µà®¿à®²à¯à®²à¯ˆ"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "PID %uவாக டோமோன௠இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "டோமோனà¯à®•à¯à®•à¯ à®®à¯à®Ÿà®¿à®µà¯ கடà¯à®Ÿà¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr "இநà¯à®¤ நிரல௠ரூடà¯à®Ÿà®¾à®• இயஙà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ (--system கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®¾à®¤ வரை)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "ரூட௠மà¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•à®³à¯ தேவைபà¯à®ªà®Ÿà¯à®•à®¿à®±à®¤à¯."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start கணினி நிகழà¯à®µà®¿à®²à¯ தà¯à®£à¯ˆà®ªà¯à®°à®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "கணினி à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯, ஆனால௠--disallow-exit அமைகà¯à®•à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"கணினி à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯, ஆனால௠--disallow-module-loading அமைகà¯à®•à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "கணினி à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯, SHM à®®à¯à®±à¯ˆà®®à¯ˆ செயலà¯à®¨à¯€à®•à¯à®•à¯à®¤à®²à¯ கடà¯à®Ÿà®¾à®¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•à®¿à®±à®¤à¯!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "கணினி à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯, வெறà¯à®®à¯ˆ நேரதà¯à®¤à¯ˆ செயலà¯à®¨à¯€à®•à¯à®• கடà¯à®Ÿà®¾à®¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•à®¿à®±à®¤à¯!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio஠பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "பைப௠தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "வாசிபà¯à®ªà®¤à®¿à®²à¯() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "டோமோனை தà¯à®µà®•à¯à®•à¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "டோமோனை வெறà¯à®±à®¿à®•à®°à®®à®¾à®• தà¯à®µà®•à¯à®•à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "இத௠தான௠பளà¯à®¸à¯ ஆடியோ %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "தொகà¯à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿ பà¯à®°à®µà®²à®©à¯: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "தொகà¯à®ªà¯à®ªà¯ CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "பà¯à®°à®µà®²à®©à®¾à®• இயஙà¯à®•à¯à®•à®¿à®±à®¤: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "CPUs %uவில௠காணபà¯à®ªà®Ÿà¯à®•à®¿à®±à®¤à¯ ."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "பகà¯à®• அளவà¯à®•à®³à¯ %lu பைடà¯à®¸à¯"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Compiled with Valgrind support: yes"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Compiled with Valgrind support: no"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "valgrind à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Optimized build: yes"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "சà¯à®°à¯à®•à¯à®•à®®à®¾à®© உரà¯à®µà®¾à®•à¯à®•à®®à¯: இலà¯à®²à¯ˆ"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr ""
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr ""
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr ""
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "கணினி கà¯à®±à®¿à®¯à¯€à®Ÿà¯ˆ பெறà¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "கணினி கà¯à®±à®¿à®¯à¯€à®Ÿà¯ %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "கணினி கà¯à®±à®¿à®¯à¯€à®Ÿà¯ %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "ஓடà¯à®®à¯à®¨à¯‡à®°à®®à¯ %s அடைவை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•à®¿à®±à®¤à¯."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "%s நிலை அடைவினை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•à®¿à®±à®¤à¯."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "கணினியின௠மà¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -482,15 +356,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "உயரà¯à®¨à¯à®¤ திரைதà¯à®¤à®¿à®±à®©à¯ நேரமà¯à®•à®¾à®Ÿà¯à®Ÿà®¿ கிடைகà¯à®•à®¿à®³à®¤à¯! Bon appetit!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -498,27 +372,27 @@ msgstr ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "டோமோனை ஆரமà¯à®ªà®¿à®ªà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "டீமான௠தà¯à®µà®•à¯à®•à®®à¯ எநà¯à®¤ தொகà¯à®¤à®¿à®•à®³à¯à®®à¯ à®à®±à¯à®±à®ªà¯à®ªà®Ÿà®¾à®®à®²à¯, வேலையை நிராகரிகà¯à®•à®¿à®±à®¤à¯."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "டோமோன௠தà¯à®µà®•à¯à®•à¯à®µà®¤à¯ à®®à¯à®Ÿà®¿à®µà®Ÿà¯ˆà®¨à¯à®¤à®¤à¯."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "டோமோன௠பணிநிறà¯à®¤à¯à®¤à®®à¯ à®®à¯à®©à¯ˆà®•à®¿à®±à®¤à¯."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "டோமோன௠நீகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®¤à¯."
@@ -853,14 +727,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà¯ கோபà¯à®ªà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ வாசிகà¯à®•à®µà¯à®®à¯: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "ரூட௠மà¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•à®³à¯ விடà¯à®ªà®Ÿà¯à®•à®¿à®±à®¤à¯."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ திறனà¯à®•à®³à¯ CAP_SYS_NICEகà¯à®•à¯ அமைகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "பளà¯à®¸à¯ ஆடியோ ஒலி கணினி"
@@ -869,26 +739,6 @@ msgstr "பளà¯à®¸à¯ ஆடியோ ஒலி கணினி"
msgid "Start the PulseAudio Sound System"
msgstr "பளà¯à®¸à¯ ஆடியோ ஒலி கணினியை தà¯à®µà®•à¯à®•à®µà¯à®®"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-"அதிக à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯à®³à¯à®³ திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ (negative Unix nice level) PulseAudio daemonகà¯à®•à¯"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio daemonகà¯à®•à®¾à®© நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"கணினி கொளà¯à®•à¯ˆ PulseAudio஠அதிக à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆ திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ பெறà¯à®µà®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ தடà¯à®•à¯à®•à®¿à®±à®¤à¯."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "கணினி கொளà¯à®•à¯ˆ PulseAudio ஠நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ எடà¯à®•à¯à®•à®¿à®±à®¤à¯."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "மோனோ"
@@ -1261,183 +1111,187 @@ msgstr "கà¯à®•à¯à®•à¯€ தரவை மாறà¯à®±à¯à®µà®¤à®¿à®²à¯ தோ
msgid "Failed to open configuration file '%s': %s"
msgstr "'%s'கடà¯à®Ÿà®®à¯ˆà®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà®¿à®©à¯ˆ திறகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "கà¯à®•à¯à®•à®¿ à®à®±à¯à®±à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. இணைபà¯à®ªà®¿à®²à¯à®²à®¾à®®à®²à¯ à®®à¯à®¯à®±à¯à®šà®¿à®•à¯à®•à®¿à®±à®¤à¯."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "தெரியாத தொடரிசà¯à®šà®¿à®¯à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ '%s'கà¯à®•à¯ செயà¯à®¤à®¿à®•à®³à¯ பெறபà¯à®ªà®Ÿà¯à®Ÿà®©"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ˆ டà¯à®°à¯ˆà®©à¯ செயà¯à®¯ à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "டà¯à®°à¯ˆà®©à¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿ ஸà¯à®Ÿà¯€à®°à®¿à®®à¯.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "டà¯à®°à¯ˆà®©à¯ செயà¯à®¯à¯à®®à¯ இணைபà¯à®ªà¯ சேவையகதà¯à®¤à®¿à®±à¯à®•à¯.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "ஸà¯à®Ÿà®¿à®°à¯€à®®à¯ வெறà¯à®±à®¿à®•à®°à®®à®¾à®• உரà¯à®µà®¾à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Buffer metrics: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ கà¯à®±à®¿à®ªà¯à®ªà¯ '%s', சேனல௠மேப௠'%s'஠பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®¿.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "%s சாதனதà¯à®¤à¯à®Ÿà®©à¯ இணைகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ (%u, %ssuspended).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "ஸà¯à®Ÿà®¿à®°à¯€à®®à¯ பிழை: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ சாதனம௠இடைநீகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ சாதனம௠தொடரà¯à®•à®¿à®±à®¤à¯.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ அதிகளவ௠இயஙà¯à®•à®¿à®¯à®¤à¯.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "ஸà¯à®Ÿà®¿à®°à¯€à®®à¯ %s தà¯à®µà®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "ஸà¯à®Ÿà®¿à®°à¯€à®®à¯ %s இயகà¯à®•à®¿à®•à¯à®•à¯ நகரà¯à®¨à¯à®¤à®¤à¯ (%u, %ssuspended).%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "இலà¯à®²à¯ˆ"
-#: ../src/utils/pacat.c:378
+#: ../src/utils/pacat.c:383
#, fuzzy, c-format
-msgid "Stream buffer attributes changed.%s \n"
+msgid "Stream buffer attributes changed.%s"
msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ இயஙà¯à®•à¯à®•à®¿à®±à®¤à¯.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "இணைபà¯à®ªà¯ தà¯à®µà®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "இணைபà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF கிடைகà¯à®•à®ªà¯ பெறà¯à®±à®¤à¯\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "வாசிபà¯à®ªà®¤à®¿à®²à¯ () தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF கிடைகà¯à®•à®ªà¯ பெறà¯à®±à®¤à¯\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "எழà¯à®¤à¯à®µà®¤à®¿à®²à¯ () தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "சிகà¯à®©à®²à¯ கிடைதà¯à®¤à®¤à¯, வெளியேறà¯à®•à®¿à®±à®¤à¯.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "லடனà¯à®šà®¿à®¯à¯ˆ பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "Time: %0.3f sec; Latency: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() தோலà¯à®µà®¿: %s\n"
#: ../src/utils/pacat.c:605
@@ -1559,34 +1413,34 @@ msgstr ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "தவறான சேனல௠வரைபடம௠'%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "தவறான மறà¯à®®à®¾à®¤à®¿à®°à®¿ à®®à¯à®±à¯ˆ '%s'."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "தவறான சேனல௠வரைபடம௠'%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "தவறான லேடனà¯à®šà®¿ கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "தவறான செயல௠நேர கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "தவறான மறà¯à®®à®¾à®¤à®¿à®°à®¿ à®®à¯à®±à¯ˆ '%s'."
#: ../src/utils/pacat.c:878
@@ -1595,60 +1449,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "தவறான மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "நிறைய விவாதஙà¯à®•à®³à¯.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "மாதிரி தகவலை பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "ஒலி கோபà¯à®ªà®¿à®©à¯ˆ திறகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "ஒர௠%s ஸà¯à®Ÿà¯€à®°à®®à¯ˆ மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'உடன௠திறகà¯à®•à®¿à®±à®¤à¯.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "மாதிரி தகவலை பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "ஒர௠%s ஸà¯à®Ÿà¯€à®°à®®à¯ˆ மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'உடன௠திறகà¯à®•à®¿à®±à®¤à¯.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "சேனல௠மேப௠மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯à®Ÿà¯à®Ÿà®©à¯ பொரà¯à®¨à¯à®¤à®µà®¿à®²à¯à®²à¯ˆ\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "ஒர௠%s ஸà¯à®Ÿà¯€à®°à®®à¯ˆ மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'உடன௠திறகà¯à®•à®¿à®±à®¤à¯.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "ஒர௠%s ஸà¯à®Ÿà¯€à®°à®®à¯ˆ மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'உடன௠திறகà¯à®•à®¿à®±à®¤à¯.\n"
#: ../src/utils/pacat.c:1006
@@ -1659,35 +1519,34 @@ msgstr "ஒலிபà¯à®ªà®¤à®¿à®µà¯"
msgid "playback"
msgstr "பிணà¯à®£à®©à®¿"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() தோலà¯à®µà®¿.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_பà¯à®¤à®¿à®¯() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯.(_n) \n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() தோலà¯à®µà®¿.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() தோலà¯à®µà®¿: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() தோலà¯à®µà®¿.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() தோலà¯à®µà®¿.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() தோலà¯à®µà®¿.\n"
#: ../src/utils/pasuspender.c:81
@@ -1715,6 +1574,11 @@ msgstr "தொடர à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "எசà¯à®šà®°à®¿à®•à¯à®•à¯ˆ: ஒலி சேவையம௠உளà¯à®³à®®à¯ˆà®µà®¾à®• இலà¯à®²à¯ˆ, இடைநிறà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "இணைபà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1754,6 +1618,21 @@ msgstr ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() தோலà¯à®µà®¿.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() தோலà¯à®µà®¿.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() தோலà¯à®µà®¿.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2169,6 +2048,11 @@ msgstr ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "தவறான சேனல௠வரைபடம௠'%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "à®à®±à¯à®±à¯à®µà®¤à®±à¯à®•à¯ ஒர௠மாதிரி கோபà¯à®ªà®¿à®©à¯ˆ கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®µà¯à®®à¯\n"
@@ -2177,6 +2061,11 @@ msgstr "à®à®±à¯à®±à¯à®µà®¤à®±à¯à®•à¯ ஒர௠மாதிரி கோப
msgid "Failed to open sound file.\n"
msgstr "ஒலி கோபà¯à®ªà®¿à®©à¯ˆ திறகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "மாதிரி தகவலை பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2242,11 +2131,6 @@ msgstr ""
msgid "No valid command specified.\n"
msgstr "சரியான கடà¯à®Ÿà®³à¯ˆ கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ \n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() தோலà¯à®µà®¿: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2363,11 +2247,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "autospawn பூடà¯à®Ÿà¯ˆ அணà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2378,7 +2262,7 @@ msgid ""
"returned 0 or another value < min_avail."
msgstr ""
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2390,15 +2274,15 @@ msgid ""
msgstr ""
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr ""
@@ -2407,6 +2291,140 @@ msgstr ""
msgid "PulseAudio Sound Server"
msgstr "பளà¯à®¸à¯ ஆடியோ ஒலி கணினி"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "கணினி பஸà¯à®¸à¯ˆ இணைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID லிரà¯à®¨à¯à®¤à¯ அழைபà¯à®ªà®¾à®³à®°à¯ˆ பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "UID கà¯à®•à¯ அழைபà¯à®ªà®¾à®³à®°à¯ பொரà¯à®³à¯ˆ அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK அமரà¯à®µà¯ˆ பெறà¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "அமரà¯à®µà¯ பொரà¯à®³à®¿à®²à¯ UID஠அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction஠ஒதà¯à®•à¯à®• இயலவிலà¯à®²à¯ˆ."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "செயலை அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ (_i)"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext஠ஒஉகà¯à®•à®¿à®Ÿ à®®à¯à®Ÿà®¿à®¯à®šà®µà®¿à®²à¯à®²à¯ˆ."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext஠தà¯à®µà®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "அழைபà¯à®ªà®¾à®³à®°à¯ à®…à®™à¯à®•à¯€à®•à®°à®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®µà®°à®¾ எனà¯à®ªà®¯à¯ˆ நிசà¯à®šà®¯à®¿à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "auth஠பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "'%s'உடன௠பாலிஸிகிட௠ஒதà¯à®¤à¯à®ªà¯‹à®•à®¿à®±à®¤à¯"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr ""
+#~ "அதிக à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯à®³à¯à®³ திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ (negative Unix nice level) PulseAudio "
+#~ "daemonகà¯à®•à¯"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio daemonகà¯à®•à®¾à®© நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "கணினி கொளà¯à®•à¯ˆ PulseAudio஠அதிக à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆ திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ பெறà¯à®µà®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ "
+#~ "தடà¯à®•à¯à®•à®¿à®±à®¤à¯."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr "கணினி கொளà¯à®•à¯ˆ PulseAudio ஠நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ எடà¯à®•à¯à®•à®¿à®±à®¤à¯."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "வாசிபà¯à®ªà®¤à®¿à®²à¯ () தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() தோலà¯à®µà®¿: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "நாம௠கà¯à®´à¯ '%s'ல௠இரà¯à®¨à¯à®¤ போத௠, உயரà¯à®¨à¯à®¤ à®®à¯à®¤à®©à¯à®®à¯ˆ அடà¯à®Ÿà®µà®£à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤ அனà¯à®®à®¤à®¿ "
+#~ "அளிகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¿à®°à¯à®¨à¯à®¤à®¤à¯."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "கà¯à®´à¯ '%s'இல௠இரà¯à®•à¯à®•à®¿à®±à¯‹à®®à¯, நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ அனà¯à®®à®¤à®¿à®•à¯à®•à®¿à®±à®¤à¯."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "நமகà¯à®•à®¾à®• PolicyKit உயரà¯à®¨à¯à®¤ à®®à¯à®•à¯à®•à®¿à®¯ à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯ˆ வழஙà¯à®•à¯à®•à®¿à®±à®¤à¯."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit உயரà¯à®¨à¯à®¤ à®®à¯à®•à¯à®•à®¿à®¯ à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯ˆ மறà¯à®•à¯à®•à®¿à®±à®¤à¯."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit acquire-real-time à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•à®³à¯ˆ கொடà¯à®•à¯à®•à®¿à®±à®¤à¯."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit acquire-real-time à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•à®³à¯ˆ நிராகரிகà¯à®•à®¿à®±à®¤à¯."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "உயரà¯à®¨à¯à®¤ சலà¯à®•à¯ˆà®•à®³à®¿à®©à¯ அடà¯à®Ÿà®µà®£à¯ˆà®¯à¯ˆ கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà®¿à®²à¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ ஆனால௠பாலிசியால௠"
+#~ "அனà¯à®®à®¤à®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "வெறà¯à®±à®¿à®•à®°à®®à®¾à®• அதிகரிகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ RLIMIT_RTPRIO"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr ""
+#~ "CAP_NICE஠மேலே கொடà¯à®•à¯à®•à®¿à®±à®¤à¯ (_N\n"
+#~ ")"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà®¿à®²à¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ ஆனால௠கொளà¯à®•à¯ˆà®¯à®¾à®²à¯ "
+#~ "அனà¯à®®à®¤à®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®µà®¤à®¿à®²à¯à®²à¯ˆ"
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ திறனà¯à®•à®³à¯ CAP_SYS_NICEகà¯à®•à¯ அமைகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() தோலà¯à®µà®¿.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Analog Mono"
diff --git a/po/te.po b/po/te.po
index d4f79e06..bf3ec2d5 100644
--- a/po/te.po
+++ b/po/te.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx.te\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-08 18:21+0530\n"
"Last-Translator: Krishna Babu K <kkrothap@redhat.com>\n"
"Language-Team: Telugu <en@li.org>\n"
@@ -21,7 +21,12 @@ msgstr ""
"\n"
"\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -33,7 +38,7 @@ msgstr ""
"సాదారణంగా యిది ALSA à°¡à±à°°à±ˆà°µà°°à± '%s' నందలి బగౠకావచà±à°šà±à°¨à±. దయచేసి దీనిని ALSA అభివృదà±à°¦à°¿ కారà±à°²à°•à± "
"నివేదించà±à°®à±."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -45,7 +50,7 @@ msgstr ""
"సాదారణంగా యిది ALSA à°¡à±à°°à±ˆà°µà°°à± '%s' నందౠబగౠకావచà±à°šà±à°¨à± . దయచేసి దీనిని ALSA అభివృదà±à°¦à°¿à°•à°¾à°°à±à°²à°• "
"నివేదించà±à°®à±."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -69,7 +74,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "అంతరà±à°—à°¤ ఆడియో"
@@ -89,364 +94,241 @@ msgstr "కొతà±à°¤ dl లోడరౠకేటాయించà±à°Ÿà°²à±‹
msgid "Failed to add bind-now-loader."
msgstr "bind-now-loader జతచేయà±à°Ÿà°•à± విఫలమైంది."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "సిసà±à°Ÿà°®à± బసà±â€Œà°¨à°•à± à°…à°¨à±à°¸à°‚ధానమౠకాలేకపోయింది: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "PID à°¨à±à°‚à°¡à°¿ కాలరà±â€Œà°¨à± పొందలేక పోయింది: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "కాలరౠఆబà±à°œà°•à±à°Ÿà±à°¨à°‚దౠUIDనౠఅమరà±à°šà°²à±‡à°• పోయింది."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "CK సెషనౠపొందà±à°Ÿà°•à± విఫలమైంది."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "సెషనౠఆబà±à°œà°•à±à°Ÿà±à°¨à°‚దౠUIDనౠఅమరà±à°š లేకపోయింది."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "PolKitAction à°šà°¿à°°à±à°¨à°¾à°®à°¾à°¨à± కేటాయించలేక పోయింది."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "action_id అమరà±à°šà°²à±‡à°• పోయింది"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "PolKitContext కేటాయించలేక పోయింది."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "PolKitContext సిదà±à°¦à°®à± చేయలేక పోయింది: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "కాలరౠఅధికారమౠకలదో లేదో నిరà±à°£à°¯à°¿à°‚చలేక పోయింది: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "దృవీకరణ పొందలేక పోయింది: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit à°¸à±à°ªà°‚దిచినది దీనితో '%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "సంకేతమౠ%s పొందినది."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "నిషà±à°•à±à°°à°®à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "వినియోగదారి '%s'నౠకనà±à°—ొనà±à°Ÿà°•à± విఫలమైంది."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "సమూహం '%s' à°•à°¨à±à°—ొనà±à°Ÿà°•à± విఫలమైంది."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "వినియోగదారి '%s' (UID %lu) మరియౠసమూహమౠ'%s' (GID %lu) కనబడినవి."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "వినియోగదారి '%s' మరియౠసమూహమౠ'%s' యొకà±à°• GID సరితూగలేదà±."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "వినియోగదారి '%s' యొకà±à°• నివాస డైరెకà±à°Ÿà°°à±€ '%s' కాదà±, వదిలివేయà±à°šà±à°¨à±à°¨à°¦à°¿."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "'%s' సృషà±à°Ÿà°¿à°‚à°šà±à°Ÿà°•à± విఫలమైంది: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "సమూహ జాబితా మారà±à°šà±à°Ÿà°•à± విఫలమైంది: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "GID మారà±à°šà±à°Ÿà°•à± విఫలమైంది: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "UID మారà±à°šà°Ÿà°•à± విఫలమైంది: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "root à°…à°¨à±à°®à°¤à±à°²à± విజయవంతంగా తిసివేయబడినాయి."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "à°ˆ à°ªà±à°²à°¾à°Ÿà±â€Œà°«à°¾à°‚ నందౠసిసà±à°Ÿà°®à± తరహా రీతి మదà±à°¦à°¤à±€à°¯à°¬à°¡à°¦à±."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) విఫలమైంది: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "ఆదేశ వరà±à°¸à°¨à± పారà±à°¶à± చేయà±à°Ÿà°•à± విఫలమైంది."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "మనమౠసమూహమౠ'%s' నందౠవà±à°¨à±à°¨à°¾à°®à±, అదిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ పణాళికనౠఅనà±à°®à°¤à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "మనమౠసమూహమౠ'%s' నందౠవà±à°¨à±à°¨à°¾à°®à±, వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•à°¨à± à°…à°¨à±à°®à°¤à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit మనకౠacquire-high-priority à°…à°¨à±à°®à°¤à°¿à°¨à°¿ యిచà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit à°…à°¨à±à°¨à°¦à°¿ acquire-high-priority à°…à°¨à±à°®à°¤à°¿à°¨à°¿ తిరసà±à°•à°°à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit మనకౠacquire-real-time à°…à°¨à±à°®à°¤à°¿à°¨à°¿ యిచà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit acquire-real-time à°…à°¨à±à°®à°¤à°¿à°¨à°¿ తిరసà±à°•à°°à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"SUID root కాలౠచేసింది మరియౠవాసà±à°¤à°µ-సమయ మరియà±/లేదా అదిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤ à°ªà±à°°à°£à°¾à°³à°¿à°• à°…à°­à±à°¯à°°à±à°§à°¿à°‚బడింది "
-"ఆకృతీకరణనందà±. à°à°®à±ˆà°¨à°ªà±à°ªà±à°Ÿà°¿à°•à°¿, మనకౠఅవసరమైన à°…à°¨à±à°®à°¤à°²à± లోపించినవి:\n"
-"మనమౠసమూహం '%s' నందౠలేమà±, PolicyKit à°…à°¨à±à°¨à°¦à°¿ మనకౠఅభà±à°¯à°°à±à°¦à°¿à°‚à°šà°¿à°¨ à°…à°¨à±à°®à°¤à±à°²à°¨à± యిచà±à°šà±à°Ÿà°•à± "
-"నిరాకరించినది మరియౠమనమౠవృదà±à°¦à°¿ RLIMIT_NICE/RLIMIT_RTPRIO వనరౠపరిమితà±à°²à°¨à± కలిగిలేమà±.\n"
-"వాసà±à°¤à°µ-సమయ/అధిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯ à°ªà±à°°à°£à°¾à°³à°¿à°•à°¨à± చేతనపరచà±à°Ÿà°•à± దయచేసి సరైన PolicyKit à°…à°¨à±à°®à°¤à±à°²à°¨à± పొందà±à°®à±, "
-"లేదా '%s' యొకà±à°• సభà±à°¯à±à°¨à°¿à°µà°¿ à°•à°®à±à°®à±, లేదా à°ˆ వినియోగదారికి RLIMIT_NICE/RLIMIT_RTPRIO వనరౠ"
-"పరిమితà±à°²à°¨à± పెంచà±à°®à±."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr "అధిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°• ఆకృతీకరణనందౠచేతనమà±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది కాని విధానమౠదà±à°µà°¾à°°à°¾ à°…à°¨à±à°®à°¤à°¿à°‚చబడింది."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "సమరà±à°§à°µà°‚తంగా RLIMIT_RTPRIOనౠపెంచినది"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO విఫలమైంది: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "CAP_NICE యిసà±à°¤à±‹à°‚ది"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°• ఆకృతీకరణనందౠచేతనంచేయబడింది కాని విధానమౠదà±à°µà°¾à°°à°¾ à°…à°¨à±à°®à°¤à°¿à°‚చబడలేదà±."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "డెమోనౠనడà±à°šà±à°Ÿ లేదà±"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "డెమోనౠPID %u వలె నడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "డెమోనౠచంపà±à°Ÿà°•à± విఫలమైంది: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr "à°ˆ à°ªà±à°°à±‹à°—à±à°°à°¾à°®à± root లా నడà±à°ªà°µà°²à°¸à°¿à°‚ది కాదౠ(--system తెలిపితే తపà±à°ª)"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Root à°…à°¨à±à°®à°¤à±à°²à± అవసరమà±."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "--start సిసà±à°Ÿà°®à± సంభవాల à°¦à±à°µà°¾à°°à°¾ మదà±à°¦à°¤à±€à°¯à°¬à°¡à°¦à±."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "సిసà±à°Ÿà°®à± మోడౠనందౠనడà±à°ªà±à°¤à±‹à°‚ది, అయితే --disallow-exit అమరà±à°šà°²à±‡à°¦à±!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "సిసà±à°Ÿà°®à± రీతినందౠనడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿, అయితే --disallow-module-loading అమరà±à°šà°²à±‡à°¦à±!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "సిసà±à°Ÿà°®à± రీతినందౠనడà±à°ªà±à°šà±à°¨à±à°¨à°¦à°¿, బలవంతంగా SHM రీతిని అచేతనమౠచేసà±à°¤à±‹à°‚ది!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "సిసà±à°Ÿà°®à± రీతినందౠనడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿, బలవంతంగా నిషà±à°•à±à°°à°®à°£ వృధా సమయానà±à°¨à°¿ అచేతనమౠచేయà±à°šà±à°¨à±à°¨à°¦à°¿!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "stdio పొందà±à°Ÿà°•à± విఫలమైంది."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "పైరౠవిఫలమైంది: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork() విఫలమైంది: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read() విఫలమైంది: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "డెమోనౠపà±à°°à°¾à°°à°‚à°­à°‚ విఫలమైంది."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "డెమోనౠపà±à°°à°¾à°°à°‚భమౠసఫలమైంది."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "ఇది PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "నిరà±à°µà°°à±à°¤à°¨ హోసà±à°Ÿà±: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "నిరà±à°µà°°à±à°¤à°¨ CFLAGS: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "హోసà±à°Ÿà±à°¨à± నడà±à°ªà±à°šà±à°¨à±à°¨à°¦à°¿: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "%u CPUలనౠకనà±à°—ొనà±à°¨à°¦à°¿."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "పేజీ పరిమాణమౠ%lu బైటà±à°²à±"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Valgrind మదà±à°¦à°¤à±à°¤à±‹ నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది: à°…à°µà±à°¨à±"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Valgrind మదà±à°¦à°¤à±à°¤à±‹ నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది: లేదà±"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "valgrind రీతినందౠనడà±à°ªà±à°šà±à°¨à±à°¨à°¦à°¿: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "ఆపà±à°Ÿà°¿à°®à±ˆà°œà±à°¡à± à°¬à±à°²à±à°¡à±: à°…à°µà±à°¨à±"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "ఆపà±à°Ÿà°¿à°®à±ˆà°œà±à°¡à± à°¬à±à°²à±à°¡à±: కాదà±"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "NDEBUG నిరà±à°µà°šà°¿à°‚చబడింది, à°…à°¨à±à°¨à°¿ à°¸à±à°¥à°¿à°°à°°à°¾à°¶à±à°²à± అచేతనమైనవి."
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "FASTPATH నిరà±à°µà°šà°¿à°‚చబడింది, ఫాసà±à°Ÿà± పాతౠసà±à°¥à°¿à°°à°°à°¾à°¶à±à°²à± మాతà±à°°à°®à±‡ అచేతనమైనవి."
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "à°…à°¨à±à°¨à°¿ à°¸à±à°¥à°¿à°°à°°à°¾à°¶à±à°²à± చేతనమైనవి."
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "మిషనౠID పొందà±à°Ÿà°•à± విఫలమైంది"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "మిషనౠID %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "మిషనౠID %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "à°°à°¨à±â€Œà°Ÿà±ˆà°®à± డైరెకà±à°Ÿà°°à±€à°¨à± à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿ %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "à°¸à±à°¥à°¿à°¤à°¿ డైరెకà±à°Ÿà°°à±€à°¨à± à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿ %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "సిసà±à°Ÿà°®à± రీతినందౠవà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -456,41 +338,41 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create() విఫలమైంది."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "తాజా అధిక-తీవà±à°°à°¤ కాలసూచికలౠఅందà±à°¬à°¾à°Ÿà±à°²à±‹ à°µà±à°¨à±à°¨à°¾à°¯à°¿! బానౠఎపటైటà±!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
msgstr "మితà±à°°à°®à°¾, నీ కెరà±à°¨à°²à± చెడిపోయింది! అధిక-తీవà±à°°à°¤ కాలసూచకిలనౠచేతనమౠచేయమని సూచించడమైనది!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new() విఫలమైంది."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "డెమోనౠసిదà±à°¦à°®à±à°šà±‡à°¯à±à°Ÿà°•à± విఫలమైంది."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "à°à°µà°¿à°§à°®à±ˆà°¨ మాడà±à°¯à±‚à°³à±à°³à± లోడవకà±à°‚à°¡à°¾ డెమోనౠపà±à°°à°¾à°°à°‚à°­à°®à±, పనిచేయà±à°Ÿà°•à± తిరసà±à°•à°°à°¿à°‚చబడింది."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "డెమోనౠపà±à°°à°¾à°°à°‚భమౠపూరà±à°¤à±ˆà°¨à°¦à°¿."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "డెమోనౠమూసివేత సిదà±à°¦à°®à±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "డెమోనౠఅంతమà±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది."
@@ -825,14 +707,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### ఆకృతీకరణ దసà±à°¤à±à°°à°®à±à°¨à±à°‚à°¡à°¿ à°šà°¦à±à°µà±à°®à±: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "root à°…à°¨à±à°®à°¤à±à°²à°¨à± తీసివేయà±à°šà±à°¨à±à°¨à°¦à°¿."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "సామరà±à°§à±à°¯à°¾à°²à°¨à± CAP_SYS_NICE కౠసమరà±à°¦à°µà°‚తంగా పరిమితం చేయబడినవి."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio శబà±à°¦à°ªà± సిసà±à°Ÿà°®à±"
@@ -841,24 +719,6 @@ msgstr "PulseAudio శబà±à°¦à°ªà± సిసà±à°Ÿà°®à±"
msgid "Start the PulseAudio Sound System"
msgstr "PulseAudio శబà±à°¦à°ªà± సిసà±à°Ÿà°®à±â€Œà°¨à± à°ªà±à°°à°¾à°°à°‚à°­à°¿à°‚à°šà±à°®à±"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "అధిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°• (à°‹à°£ à°¯à±à°¨à°¿à°•à±à°¸à± సాదా à°¸à±à°¥à°¾à°¯à°¿) PulseAudio డెమోనà±â€Œà°•à±"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio డెమోనà±â€Œ కొరకౠవాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "సిసà±à°Ÿà°®à± విధానమౠPulseAudio అధిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°•à°¨à± పొందకà±à°‚à°¡à°¾ నిరోధిసà±à°¤à±à°¨à±à°¨à°¦à°¿."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "సిసà±à°Ÿà°®à± విధానమౠPulseAudio వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•à°¨à± పొందకà±à°‚à°¡à°¾ నిరోధిసà±à°¤à±‹à°‚ది."
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "మోనో"
@@ -1231,183 +1091,187 @@ msgstr "à°•à±à°•à±€ డాటా పారà±à°¶à± చేయà±à°Ÿà°•à± à°µà°
msgid "Failed to open configuration file '%s': %s"
msgstr "ఆకృతీకరణ దసà±à°¤à±à°°à°®à± '%s' తెరà±à°µà±à°Ÿà°•à± విఫలమైంది: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "à° à°•à±à°•à±€ లోడవలేదà±. లేకà±à°‚à°¡à°¾ à°…à°¨à±à°¸à°‚ధానమగà±à°Ÿà°•à± à°ªà±à°°à°¯à°¤à±à°¨à°¿à°¸à±à°¤à±‹à°‚ది."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "తెలియని పొడిగింపౠకొరకౠసందేశమౠసà±à°µà±€à°•à°°à°¿à°‚చింది '%s'"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± à°Žà°‚à°¡à°—à°Ÿà±à°Ÿà±à°Ÿà°•à± విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "à°ªà±à°²à±‡à°¬à±à°¯à°¾à°•à± à°¸à±à°Ÿà±à°°à±€à°®à± à°Žà°‚à°¡à°—à°Ÿà±à°Ÿà°¿à°¨à°¦à°¿.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "సేవికకౠఅనà±à°¸à°‚ధానమà±à°¨à± నశింపచేసà±à°¤à±‹à°‚ది.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write() విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write() విఫలమైంది: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek() విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± సమరà±à°§à°µà°‚తంగా సృషà±à°Ÿà°¿à°‚చబడింది.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr() విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Buffer metrics: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "సాదారణ విశదీకరణ(à°¸à±à°ªà±†à°•à±) '%s' à°µà±à°ªà°¯à±‹à°—à°¿à°¸à±à°¤à±‹à°‚ది, à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°—à°‚ మాపౠ'%s'.\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "పరికరమౠ%s (%u, %ssuspended) à°•à± à°…à°¨à±à°¸à°‚ధానించబడింది.\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± దోషమà±: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± పరికరమౠఅరà±à°¦à°¾à°‚తరమà±à°—à°¾ నిలిపివేయి.%s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± పరికరమౠతిరిగికొనసాగించబడింది.%s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± తకà±à°•à±à°µà°—ానడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.%s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± మించినడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.%s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± à°ªà±à°°à°¾à°°à°‚భమైంది.%s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± పరికరమౠ%s (%u, %ssuspended) à°•à± à°•à°¦à±à°ªà°¬à°¡à°¿à°‚ది.%s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "కాదౠ"
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± బఫరౠయాటà±à°°à°¿à°¬à±à°¯à±‚à°Ÿà±à°²à± మారà±à°šà°¬à°¡à°¿à°¨à°µà°¿.%s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "à°…à°¨à±à°¸à°‚ధానమౠà°à°°à±à°ªà°¡à°¿à°¨à°¦à°¿.%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new() విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback() విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_record() విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "à°…à°¨à±à°¸à°‚ధానమౠవైఫలà±à°¯à°®à±: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "EOF పొందింది.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read() విఫలమైంది: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "EOF పొందింది.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write() విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "సంకేతమౠపొందినది, నిషà±à°•à±à°°à°®à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "à°•à±à°°à°¿à°¯à°¾à°¹à±€à°¨à°¤à°¨à± పొందà±à°Ÿà°²à±‹ విఫలమైంది: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "సమయం: %0.3f sec; à°•à±à°°à°¿à°¯à°¾à°¹à±€à°¨à°¤: %0.0f usec. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info() విఫలమైంది: %s\n"
#: ../src/utils/pacat.c:605
@@ -1529,34 +1393,34 @@ msgstr ""
"libpulse తో నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది %s\n"
"libpulse లింకైనది %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°— మాపౠ'%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°¨à°ƒà°µà±à°¦à°¾à°¹à°°à°£ పదà±à°¦à°¤à°¿ '%s'."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°— మాపౠ'%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "చెలà±à°²à°¨à°¿ à°•à±à°°à°¿à°¯à°¾à°¹à±€à°¨ విశదీకరణమౠ'%s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "చెలà±à°²à°¨à°¿ కారà±à°¯à°•à±à°°à°®à°®à± సమయ విశదీకరణ '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°¨à°ƒà°µà±à°¦à°¾à°¹à°°à°£ పదà±à°¦à°¤à°¿ '%s'."
#: ../src/utils/pacat.c:878
@@ -1565,60 +1429,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "చెలà±à°²à°¨à°Ÿà±à°µà°‚à°Ÿà°¿ మాదిరి విశదీకరణ\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "చాలా యెకà±à°•à±à°µ ఆరà±à°—à±à°®à±†à°‚à°Ÿà±à°²à±.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "మాదిరి సమాచారమౠపొందà±à°Ÿà°•à± విఫలమైంది: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "శబà±à°¦à°ªà± దసà±à°¤à±à°°à°®à±à°¨à± తెరà±à°µà±à°Ÿà°•à± విఫలమైంది.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "%s à°¸à±à°Ÿà±à°°à±€à°®à±â€Œà°¨à± మాదిరి విశదీకరణి '%s'తో తెరà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "మాదిరి సమాచారమౠపొందà±à°Ÿà°•à± విఫలమైంది: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "%s à°¸à±à°Ÿà±à°°à±€à°®à±â€Œà°¨à± మాదిరి విశదీకరణి '%s'తో తెరà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°— మాపౠమాదిరి విశదీకరణితో సరిపోలà±à°Ÿà°²à±‡à°¦à±\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "%s à°¸à±à°Ÿà±à°°à±€à°®à±â€Œà°¨à± మాదిరి విశదీకరణి '%s'తో తెరà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "%s à°¸à±à°Ÿà±à°°à±€à°®à±â€Œà°¨à± మాదిరి విశదీకరణి '%s'తో తెరà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n"
#: ../src/utils/pacat.c:1006
@@ -1629,35 +1499,34 @@ msgstr "రికారà±à°¡à°¿à°‚à°—à±"
msgid "playback"
msgstr "à°ªà±à°²à±‡à°¬à°¾à°•à±"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new() విఫలమైంది.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new() విఫలమైంది.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new() విఫలమైంది.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect() విఫలమైంది: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new() విఫలమైంది.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new() విఫలమైంది.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run() విఫలమైంది.\n"
#: ../src/utils/pasuspender.c:81
@@ -1685,6 +1554,11 @@ msgstr "తిరిగికొనసాగింపౠవైఫలà±à°¯à°®à±
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "హెచà±à°šà°°à°¿à°•: శబà±à°§à°ªà± సేవిక à°¸à±à°¥à°¾à°¨à°¿à°•à°‚ కాదà±, à°…à°°à±à°§à°¾à°‚తరనిలà±à°ªà±à°¦à°² కావడంలేదà±.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "à°…à°¨à±à°¸à°‚ధానమౠవైఫలà±à°¯à°®à±: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1725,6 +1599,21 @@ msgstr ""
"libpulse తో నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది %s\n"
"libpulse తో నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new() విఫలమైంది.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new() విఫలమైంది.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run() విఫలమైంది.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2139,6 +2028,11 @@ msgstr ""
"libpulse తో నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది%s\n"
"libpulse తో లింకà±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°— మాపౠ'%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "లోడà±à°µà±à°µà±à°Ÿà°•à± దయచేసి మాదిరి దసà±à°¤à±à°°à°®à±à°¨à± తెలà±à°ªà±à°®à±\n"
@@ -2147,6 +2041,11 @@ msgstr "లోడà±à°µà±à°µà±à°Ÿà°•à± దయచేసి మాదిరి
msgid "Failed to open sound file.\n"
msgstr "శబà±à°¦à°ªà± దసà±à°¤à±à°°à°®à±à°¨à± తెరà±à°µà±à°Ÿà°•à± విఫలమైంది.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "మాదిరి సమాచారమౠపొందà±à°Ÿà°•à± విఫలమైంది: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2208,11 +2107,6 @@ msgstr "మీరౠకారà±à°¡à± నామమà±/విషయసూచి
msgid "No valid command specified.\n"
msgstr "à°Žà°Ÿà±à°µà°‚à°Ÿà°¿ విలà±à°µà±ˆà°¨ ఆదేశమౠతెలà±à°ªà°²à±‡à°¦à±.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect() విఫలమైంది: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2329,11 +2223,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "ఆటోసà±à°ªà°¾à°¨à± తాళంనౠయాకà±à°¸à°¿à°¸à± చేయలేదà±."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2349,7 +2243,7 @@ msgstr ""
"మనమౠPOLLOUT అమరà±à°ªà± à°¦à±à°µà°¾à°°à°¾ జాగరూక పరచబడినామౠ-- à°à°®à±ˆà°¨à°ªà±à°ªà°Ÿà°¿à°•à°¿ snd_pcm_avail() à°…à°¨à±à°¨à°¦à°¿ 0 నౠ"
"యిసà±à°¤à±à°‚ది లేదా వేరొక విలà±à°µ < min_avail యిసà±à°¤à±à°‚ది."
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2366,15 +2260,15 @@ msgstr ""
"యిసà±à°¤à±à°‚ది లేదా వేరొక విలà±à°µ < min_avail యిసà±à°¤à±à°‚ది."
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "ఆఫà±"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "హై ఫెడిలిటి à°ªà±à°²à±‡à°¬à±à°¯à°¾à°•à± (A2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "టెలిఫోనీ డూపà±à°²à±†à°•à±à°¸à± (HSP/HFP)"
@@ -2382,6 +2276,126 @@ msgstr "టెలిఫోనీ డూపà±à°²à±†à°•à±à°¸à± (HSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "పలà±à°¸à± ఆడియో సౌండౠసేవిక"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "సిసà±à°Ÿà°®à± బసà±â€Œà°¨à°•à± à°…à°¨à±à°¸à°‚ధానమౠకాలేకపోయింది: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "PID à°¨à±à°‚à°¡à°¿ కాలరà±â€Œà°¨à± పొందలేక పోయింది: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "కాలరౠఆబà±à°œà°•à±à°Ÿà±à°¨à°‚దౠUIDనౠఅమరà±à°šà°²à±‡à°• పోయింది."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "CK సెషనౠపొందà±à°Ÿà°•à± విఫలమైంది."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "సెషనౠఆబà±à°œà°•à±à°Ÿà±à°¨à°‚దౠUIDనౠఅమరà±à°š లేకపోయింది."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "PolKitAction à°šà°¿à°°à±à°¨à°¾à°®à°¾à°¨à± కేటాయించలేక పోయింది."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "action_id అమరà±à°šà°²à±‡à°• పోయింది"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "PolKitContext కేటాయించలేక పోయింది."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "PolKitContext సిదà±à°¦à°®à± చేయలేక పోయింది: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "కాలరౠఅధికారమౠకలదో లేదో నిరà±à°£à°¯à°¿à°‚చలేక పోయింది: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "దృవీకరణ పొందలేక పోయింది: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit à°¸à±à°ªà°‚దిచినది దీనితో '%s'"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr "అధిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°• (à°‹à°£ à°¯à±à°¨à°¿à°•à±à°¸à± సాదా à°¸à±à°¥à°¾à°¯à°¿) PulseAudio డెమోనà±â€Œà°•à±"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio డెమోనà±â€Œ కొరకౠవాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr "సిసà±à°Ÿà°®à± విధానమౠPulseAudio అధిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°•à°¨à± పొందకà±à°‚à°¡à°¾ నిరోధిసà±à°¤à±à°¨à±à°¨à°¦à°¿."
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr "సిసà±à°Ÿà°®à± విధానమౠPulseAudio వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•à°¨à± పొందకà±à°‚à°¡à°¾ నిరోధిసà±à°¤à±‹à°‚ది."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read() విఫలమైంది: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect() విఫలమైంది: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "మనమౠసమూహమౠ'%s' నందౠవà±à°¨à±à°¨à°¾à°®à±, అదిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ పణాళికనౠఅనà±à°®à°¤à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "మనమౠసమూహమౠ'%s' నందౠవà±à°¨à±à°¨à°¾à°®à±, వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•à°¨à± à°…à°¨à±à°®à°¤à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit మనకౠacquire-high-priority à°…à°¨à±à°®à°¤à°¿à°¨à°¿ యిచà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit à°…à°¨à±à°¨à°¦à°¿ acquire-high-priority à°…à°¨à±à°®à°¤à°¿à°¨à°¿ తిరసà±à°•à°°à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit మనకౠacquire-real-time à°…à°¨à±à°®à°¤à°¿à°¨à°¿ యిచà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit acquire-real-time à°…à°¨à±à°®à°¤à°¿à°¨à°¿ తిరసà±à°•à°°à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "SUID root కాలౠచేసింది మరియౠవాసà±à°¤à°µ-సమయ మరియà±/లేదా అదిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤ à°ªà±à°°à°£à°¾à°³à°¿à°• à°…à°­à±à°¯à°°à±à°§à°¿à°‚బడింది "
+#~ "ఆకృతీకరణనందà±. à°à°®à±ˆà°¨à°ªà±à°ªà±à°Ÿà°¿à°•à°¿, మనకౠఅవసరమైన à°…à°¨à±à°®à°¤à°²à± లోపించినవి:\n"
+#~ "మనమౠసమూహం '%s' నందౠలేమà±, PolicyKit à°…à°¨à±à°¨à°¦à°¿ మనకౠఅభà±à°¯à°°à±à°¦à°¿à°‚à°šà°¿à°¨ à°…à°¨à±à°®à°¤à±à°²à°¨à± యిచà±à°šà±à°Ÿà°•à± "
+#~ "నిరాకరించినది మరియౠమనమౠవృదà±à°¦à°¿ RLIMIT_NICE/RLIMIT_RTPRIO వనరౠపరిమితà±à°²à°¨à± కలిగిలేమà±.\n"
+#~ "వాసà±à°¤à°µ-సమయ/అధిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯ à°ªà±à°°à°£à°¾à°³à°¿à°•à°¨à± చేతనపరచà±à°Ÿà°•à± దయచేసి సరైన PolicyKit à°…à°¨à±à°®à°¤à±à°²à°¨à± "
+#~ "పొందà±à°®à±, లేదా '%s' యొకà±à°• సభà±à°¯à±à°¨à°¿à°µà°¿ à°•à°®à±à°®à±, లేదా à°ˆ వినియోగదారికి RLIMIT_NICE/RLIMIT_RTPRIO "
+#~ "వనరౠపరిమితà±à°²à°¨à± పెంచà±à°®à±."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr "అధిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°• ఆకృతీకరణనందౠచేతనమà±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది కాని విధానమౠదà±à°µà°¾à°°à°¾ à°…à°¨à±à°®à°¤à°¿à°‚చబడింది."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "సమరà±à°§à°µà°‚తంగా RLIMIT_RTPRIOనౠపెంచినది"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO విఫలమైంది: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "CAP_NICE యిసà±à°¤à±‹à°‚ది"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr "వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°• ఆకృతీకరణనందౠచేతనంచేయబడింది కాని విధానమౠదà±à°µà°¾à°°à°¾ à°…à°¨à±à°®à°¤à°¿à°‚చబడలేదà±."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "సామరà±à°§à±à°¯à°¾à°²à°¨à± CAP_SYS_NICE కౠసమరà±à°¦à°µà°‚తంగా పరిమితం చేయబడినవి."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new() విఫలమైంది.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "ఎనలాగౠమోనో"
diff --git a/po/uk.po b/po/uk.po
index c8b21c37..ebf45182 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-18 11:13+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation@linux.org.ua>\n"
@@ -17,7 +17,12 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -30,7 +35,7 @@ msgstr ""
"Ймовірно, ви натрапили на ваду у драйвері ALSA «%s». Будь лаÑка, повідомте "
"про цю ваду розробникам ALSA."
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -43,7 +48,7 @@ msgstr ""
"Ймовірно, ви натрапили на ваду у драйвері ALSA «%s». Будь лаÑка, повідомте "
"про цю ваду розробникам ALSA."
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -69,7 +74,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "Вбудоване аудіо"
@@ -92,225 +97,92 @@ msgstr ""
msgid "Failed to add bind-now-loader."
msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ bind-now-loader."
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "Ðе вдалоÑÑ Ð·â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð· шиною ÑиÑтеми: %s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ джерело виклику від PID: %s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "Ðе вдалоÑÑ Ð²Ñтановити UID Ð´Ð»Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° джерела виклику."
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ CK ÑеанÑу."
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "Ðе вдалоÑÑ Ð²Ñтановити UID Ð´Ð»Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ÑеанÑу."
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PolKitAction."
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "Ðе вдалоÑÑ Ð²Ñтановити action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PolKitContext."
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ чи уповноважено джерело виклику: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ уповноваженнÑ: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit надіÑлала відповідь: «%s»"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "Отримано Ñигнал %s."
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸."
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ кориÑтувача «%s»."
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ групу «%s»."
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "Знайдено кориÑтувача «%s» (UID %lu) Ñ– групу «%s» (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "GID кориÑтувача «%s» Ñ– групи «%s» не збігаютьÑÑ."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "Домашнім каталогом кориÑтувача «%s» не Ñ” «%s», дані проігноровано."
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Ðе вдалоÑÑ Ñтворити «%s»: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ ÑпиÑок груп: %s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ GID: %s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ UID: %s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "Програма уÑпішно позбулаÑÑ Ð¿Ñ€Ð°Ð² доÑтупу кориÑтувача root."
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "ЗагальноÑиÑтемний режим не підтримуєтьÑÑ Ð½Ð° цій платформі."
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "Спроба виконати setrlimit(%s, (%u, %u)) була невдалою: %s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "Ðе вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ Ñ€Ñдок команди."
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr ""
-"Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким пріоритетом."
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr ""
-"Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ режимі реального "
-"чаÑу."
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit надала нам права доÑтупу acquire-high-priority."
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKit відмовила у наданні прав доÑтупу acquire-high-priority."
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit надала нам права доÑтупу acquire-real-time."
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKit відмовила у наданні прав доÑтупу acquire-real-time."
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"У налаштуваннÑÑ… було вказано виклик SUID root Ñ– Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ реального "
-"чаÑу Ñ–/або режиму виÑокого пріоритету. Ðле у Ð½Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” потрібних прав "
-"доÑтупу:\n"
-"Ваш кориÑтувач не Ñ” учаÑником групи «%s», PolicyKit відмовила у наданні нам "
-"потрібних прав доÑтупу, тому знÑÑ‚Ñ‚Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½ÑŒ реÑурÑу RLIMIT_NICE/"
-"RLIMIT_RTPRIO не можливе.\n"
-"Щоб увімкнути Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ реального чаÑу Ñ–/або режиму виÑокого "
-"пріоритету, будь лаÑка, отримайте відповідні права доÑтупу у PolicyKit або "
-"Ñтаньте учаÑником групи «%s» або збільшіть діапазон реÑурÑу RLIMIT_NICE/"
-"RLIMIT_RTPRIO Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ кориÑтувача."
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким пріоритетом увімкнено у налаштуваннÑÑ…, але не дозволене "
-"правилами безпеки."
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "УÑпішно підвищено RLIMIT_RTPRIO"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби підвищити RLIMIT_RTPRIO: %s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "ПозбуваємоÑÑ CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr ""
-"ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ режимі реального чаÑу увімкнено у налаштуваннÑÑ…, але не "
-"дозволене правилами безпеки."
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "Фонову Ñлужбу не запущено"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "Фонову Ñлужбу запущено Ñк PID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ñ‚Ð¸ роботу фонової Ñлужби: %s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
@@ -318,156 +190,156 @@ msgstr ""
"Цю програму не призначено Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку від імені кориÑтувача root (Ñкщо не "
"вказано параметра --system)."
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "Потрібні права доÑтупу кориÑтувача root."
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr ""
"Параметр --start не підтримуєтьÑÑ Ð´Ð»Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾ÑиÑтемних екземплÑрів програми."
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr ""
"ЗапуÑк у загальноÑиÑтемному режимі, але не вÑтановлено --disallow-exit!"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr ""
"ЗапуÑк у загальноÑиÑтемному режимі, але не вÑтановлено --disallow-module-"
"loading!"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "ЗапуÑк у загальноÑиÑтемному режимі, примуÑове Ð²Ð¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ SHM!"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr ""
"ЗапуÑк у загальноÑиÑтемному режимі, примуÑове Ð²Ð¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ параметрів "
"чаÑу виходу за відÑутноÑÑ‚Ñ– активноÑÑ‚Ñ–!"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ stdio."
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "Спроба ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ fork() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ read() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "Спроба запуÑку фонової Ñлужби завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾."
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "Фонову Ñлужбу уÑпішно запущено."
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "Це PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "Вузол збираннÑ: %s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "CFLAGS збираннÑ: %s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "Запущено на вузлі: %s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "Знайдено %u процеÑорів."
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "Розмір Ñторінки дорівнює %lu байтам"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "Зібрано з підтримкою Valgrind: так"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "Зібрано з підтримкою Valgrind: ні"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "ЗапуÑк у режимі valgrind: %s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "Зібрано з оптимізацією: так"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "Зібрано з оптимізацією: ні"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr ""
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr ""
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr ""
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "Спроба отримати ідентифікатор ÑиÑтеми завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "Ідентифікатор ÑиÑтеми %s."
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "Ідентифікатор ÑиÑтеми %s."
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "Каталог запуÑку: %s."
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "Каталог Ñтану: %s."
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "ЗапуÑку у загальноÑиÑтемному режимі: %s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -477,15 +349,15 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_pid_file_create() зазнала невдачі."
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "ДоÑтупні Ñвіжі виÑокоточні таймери! Смачного!"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
@@ -493,29 +365,29 @@ msgstr ""
"Чувак, твоє Ñдро — лайно! Круті пацани рекомендують Linux з увімкненими "
"виÑокоточними таймерами!"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_core_new() зазнала невдачі."
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ фонову Ñлужбу."
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr ""
"ЗапуÑк фонової Ñлужби без жодного завантаженого модулÑ, Ñлужба не буде "
"працездатною."
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "ЗапуÑк фонової Ñлужби завершено."
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "Ініційовано Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ фонової Ñлужби."
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "Ð’Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ„Ð¾Ð½Ð¾Ð²Ð¾Ñ— Ñлужби перервано."
@@ -867,14 +739,10 @@ msgstr ""
msgid "### Read from configuration file: %s ###\n"
msgstr "### Прочитано з файла налаштувань: %s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "ПозбуваємоÑÑ Ð¿Ñ€Ð°Ð² доÑтупу root."
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "УÑпішно обмежено можливоÑÑ‚Ñ– до CAP_SYS_NICE."
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "Звукова ÑиÑтема PulseAudio"
@@ -883,28 +751,6 @@ msgstr "Звукова ÑиÑтема PulseAudio"
msgid "Start the PulseAudio Sound System"
msgstr "ЗапуÑтити звукову ÑиÑтему PulseAudio"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr ""
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-#, fuzzy
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr ""
-"Спроба Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ фонової Ñлужби PulseAudio завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-#, fuzzy
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr ""
-"Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким пріоритетом."
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr ""
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "Моно"
@@ -1277,184 +1123,188 @@ msgstr "Ðе вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ дані куки"
msgid "Failed to open configuration file '%s': %s"
msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s»: %s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr ""
"Куків не завантажено. Буде виконано Ñпробу Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ð° Ñ—Ñ… відÑутноÑÑ‚Ñ–."
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork(): %s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid(): %s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "Отримано Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ невідомий додаток «%s»"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "Ðе вдалоÑÑ Ñтворити тунель Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ: %s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "Потік Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚ÑƒÐ½ÐµÐ»ÑŒÐ¾Ð²Ð°Ð½Ð¾.\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Тунельне Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· Ñервером.\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain(): %s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_write() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_write() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_peek() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "Потік було уÑпішно Ñтворено.\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_get_buffer_attr() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "Метрика буфера: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "Метрика буфера: maxlength=%u, fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ‡Ð°Ñтотної Ñпецифікації «%s», карта каналів «%s».\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "З’єднано з приÑтроєм %s (%u, %s призупинено).\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "Помилка потоку: %s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "Призупинено приÑтрій потоку. %s \n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "Відновлено приÑтрій потоку. %s \n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "ÐÐµÐ´Ð¾Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ. %s \n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "ÐŸÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ. %s \n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "Потік запущено. %s \n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "Потік переÑунуто на приÑтрій %s (%u, %s призупинено). %s \n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "не "
-#: ../src/utils/pacat.c:378
+#: ../src/utils/pacat.c:383
#, fuzzy, c-format
-msgid "Stream buffer attributes changed.%s \n"
+msgid "Stream buffer attributes changed.%s"
msgstr "ÐÐµÐ´Ð¾Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ. %s \n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "Ð’Ñтановлено з’єднаннÑ. %s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_new() зазнала невдачі: %s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_connect_playback() зазнала невдачі: %s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_connect_record() зазнала невдачі: %s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "Спроба вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдачі: %s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "Отримано EOF.\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ read() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "Отримано EOF.\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ write() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "Отримано Ñигнал, Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸.\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ латентніÑÑ‚ÑŒ: %s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "ЧаÑ: %0.3f Ñек.; ЛатентніÑÑ‚ÑŒ: %0.0f мкÑ. \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr ""
"Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_update_timing_info() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n"
@@ -1575,34 +1425,34 @@ msgstr ""
"Зібрано з libpulse %s\n"
"З’єднано з libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "Ðекоректна карта каналів «%s»\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "Ðекоректний метод зміни чаÑтотних характериÑтик «%s»."
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "Ðекоректна карта каналів «%s»\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "Ðекоректна ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð»Ð°Ñ‚ÐµÐ½Ñ‚Ð½Ð¾ÑÑ‚Ñ– «%s»\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "Ðекоректна чаÑова ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Â«%s»\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "Ðекоректний метод зміни чаÑтотних характериÑтик «%s»."
#: ../src/utils/pacat.c:878
@@ -1611,60 +1461,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "Ðекоректна чаÑтотна ÑпецифікаціÑ\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open(): %s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2(): %s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "Забагато аргументів.\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо фрагмента: %s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ звуковий файл.\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ %s з чаÑтотною Ñпецифікацією «%s».\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо фрагмента: %s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ %s з чаÑтотною Ñпецифікацією «%s».\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "Карта каналі не відповідає чаÑтотній Ñпецифікації\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ %s з чаÑтотною Ñпецифікацією «%s».\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ %s з чаÑтотною Ñпецифікацією «%s».\n"
#: ../src/utils/pacat.c:1006
@@ -1675,35 +1531,34 @@ msgstr "запиÑ"
msgid "playback"
msgstr "відтвореннÑ"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_mainloop_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ io_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_connect() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ time_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_mainloop_run() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
#: ../src/utils/pasuspender.c:81
@@ -1732,6 +1587,11 @@ msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr ""
"ПОПЕРЕДЖЕÐÐЯ: звуковий Ñервер не Ñ” локальним, його не можна призупинити.\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "Спроба вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдачі: %s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1773,6 +1633,21 @@ msgstr ""
"Зібрано з libpulse %s\n"
"З’єднано з libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_mainloop_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_mainloop_run() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2187,6 +2062,11 @@ msgstr ""
"Зібрано з libpulse %s\n"
"З’єднано з libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "Ðекоректна карта каналів «%s»\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "Будь лаÑка, вкажіть зразковий файл Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ\n"
@@ -2195,6 +2075,11 @@ msgstr "Будь лаÑка, вкажіть зразковий файл Ð´Ð»Ñ Ð
msgid "Failed to open sound file.\n"
msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ звуковий файл.\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо фрагмента: %s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2258,11 +2143,6 @@ msgstr "Вам Ñлід вказати назву/Ñ–Ð½Ð´ÐµÐºÑ ÐºÐ°Ñ€Ñ‚Ð¸ Ñ– нÐ
msgid "No valid command specified.\n"
msgstr "Ðе вказано коректної команди.\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_connect() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2382,11 +2262,11 @@ msgstr "read(): %s"
msgid "write(): %s"
msgstr "write(): %s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "Ðе вдалоÑÑ Ð·Ð½Ñти Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ розгалуженнÑ."
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2397,7 +2277,7 @@ msgid ""
"returned 0 or another value < min_avail."
msgstr ""
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2409,15 +2289,15 @@ msgid ""
msgstr ""
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr ""
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr ""
@@ -2426,6 +2306,133 @@ msgstr ""
msgid "PulseAudio Sound Server"
msgstr "Звукова ÑиÑтема PulseAudio"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "Ðе вдалоÑÑ Ð·â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð· шиною ÑиÑтеми: %s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ джерело виклику від PID: %s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "Ðе вдалоÑÑ Ð²Ñтановити UID Ð´Ð»Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° джерела виклику."
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ CK ÑеанÑу."
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "Ðе вдалоÑÑ Ð²Ñтановити UID Ð´Ð»Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ÑеанÑу."
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PolKitAction."
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "Ðе вдалоÑÑ Ð²Ñтановити action_id"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PolKitContext."
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ PolKitContext: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ чи уповноважено джерело виклику: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ уповноваженнÑ: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit надіÑлала відповідь: «%s»"
+
+#, fuzzy
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr ""
+#~ "Спроба Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ фонової Ñлужби PulseAudio завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾."
+
+#, fuzzy
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr ""
+#~ "Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким "
+#~ "пріоритетом."
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ read() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_connect() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr ""
+#~ "Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким "
+#~ "пріоритетом."
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr ""
+#~ "Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ режимі реального "
+#~ "чаÑу."
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit надала нам права доÑтупу acquire-high-priority."
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKit відмовила у наданні прав доÑтупу acquire-high-priority."
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit надала нам права доÑтупу acquire-real-time."
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKit відмовила у наданні прав доÑтупу acquire-real-time."
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "У налаштуваннÑÑ… було вказано виклик SUID root Ñ– Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ "
+#~ "реального чаÑу Ñ–/або режиму виÑокого пріоритету. Ðле у Ð½Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” "
+#~ "потрібних прав доÑтупу:\n"
+#~ "Ваш кориÑтувач не Ñ” учаÑником групи «%s», PolicyKit відмовила у наданні "
+#~ "нам потрібних прав доÑтупу, тому знÑÑ‚Ñ‚Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½ÑŒ реÑурÑу RLIMIT_NICE/"
+#~ "RLIMIT_RTPRIO не можливе.\n"
+#~ "Щоб увімкнути Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ реального чаÑу Ñ–/або режиму виÑокого "
+#~ "пріоритету, будь лаÑка, отримайте відповідні права доÑтупу у PolicyKit "
+#~ "або Ñтаньте учаÑником групи «%s» або збільшіть діапазон реÑурÑу "
+#~ "RLIMIT_NICE/RLIMIT_RTPRIO Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ кориÑтувача."
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr ""
+#~ "ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким пріоритетом увімкнено у налаштуваннÑÑ…, але не "
+#~ "дозволене правилами безпеки."
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "УÑпішно підвищено RLIMIT_RTPRIO"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби підвищити RLIMIT_RTPRIO: %s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "ПозбуваємоÑÑ CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr ""
+#~ "ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ режимі реального чаÑу увімкнено у налаштуваннÑÑ…, але не "
+#~ "дозволене правилами безпеки."
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "УÑпішно обмежено можливоÑÑ‚Ñ– до CAP_SYS_NICE."
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ time_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
+
#~ msgid "Analog Mono"
#~ msgstr "Ðналоговий моно"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 2da73fe8..90f7cca1 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pulseaudio.master-tx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-17 23:42+0200\n"
+"POT-Creation-Date: 2009-08-05 15:09+0200\n"
"PO-Revision-Date: 2009-04-06 10:26+1000\n"
"Last-Translator: Leah Liu <lliu@redhat.com>\n"
"Language-Team: Simplified Chinese <zh@li.org>\n"
@@ -20,7 +20,12 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
-#: ../src/modules/alsa/alsa-util.c:1015
+#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411
+#, c-format
+msgid "%s %s"
+msgstr ""
+
+#: ../src/modules/alsa/alsa-util.c:1023
#, c-format
msgid ""
"snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu "
@@ -31,7 +36,7 @@ msgstr ""
"snd_pcm_avail() 返回的值éžå¸¸å¤§ï¼š%lu 字节(%lu ms)。\n"
"很å¯èƒ½æ˜¯ ALSA é©±åŠ¨ç¨‹åº '%s' 中的 bugã€‚è¯·å‘ ALSA å¼€å‘者举报这个问题。"
-#: ../src/modules/alsa/alsa-util.c:1056
+#: ../src/modules/alsa/alsa-util.c:1064
#, c-format
msgid ""
"snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%"
@@ -42,7 +47,7 @@ msgstr ""
"snd_pcm_delay() 返回的值éžå¸¸å¤§ï¼š%li 字节(%s%lu ms)。\n"
"很å¯èƒ½æ˜¯ ALSA é©±åŠ¨ç¨‹åº '%s' 中的 bugã€‚è¯·å‘ ALSA å¼€å‘者举报这个问题。"
-#: ../src/modules/alsa/alsa-util.c:1103
+#: ../src/modules/alsa/alsa-util.c:1111
#, c-format
msgid ""
"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes "
@@ -66,7 +71,7 @@ msgid ""
"input control values>"
msgstr ""
-#: ../src/pulsecore/sink.c:2394
+#: ../src/pulsecore/sink.c:2395
msgid "Internal Audio"
msgstr "内部音频"
@@ -86,362 +91,241 @@ msgstr "分é…æ–°çš„ dl 加载器失败。"
msgid "Failed to add bind-now-loader."
msgstr "添加 bind-now-loader 失败。"
-#: ../src/daemon/polkit.c:55
-#, c-format
-msgid "Cannot connect to system bus: %s"
-msgstr "无法连接到系统总线:%s"
-
-#: ../src/daemon/polkit.c:65
-#, c-format
-msgid "Cannot get caller from PID: %s"
-msgstr "无法从PID获å–调用者:%s"
-
-#: ../src/daemon/polkit.c:77
-msgid "Cannot set UID on caller object."
-msgstr "无法为调用者设定UID。"
-
-#: ../src/daemon/polkit.c:82
-msgid "Failed to get CK session."
-msgstr "获å–CK会è¯å¤±è´¥ã€‚"
-
-#: ../src/daemon/polkit.c:90
-msgid "Cannot set UID on session object."
-msgstr "无法为会è¯å¯¹è±¡è®¾å®šUID。"
-
-#: ../src/daemon/polkit.c:95
-msgid "Cannot allocate PolKitAction."
-msgstr "ä¸èƒ½åˆ†é…PolKitAction。"
-
-#: ../src/daemon/polkit.c:100
-msgid "Cannot set action_id"
-msgstr "无法设定action_id"
-
-#: ../src/daemon/polkit.c:105
-msgid "Cannot allocate PolKitContext."
-msgstr "无法分é…PolKitContext。"
-
-#: ../src/daemon/polkit.c:110
-#, c-format
-msgid "Cannot initialize PolKitContext: %s"
-msgstr "无法åˆä½¿åŒ–PolKitContext: %s"
-
-#: ../src/daemon/polkit.c:119
-#, c-format
-msgid "Could not determine whether caller is authorized: %s"
-msgstr "无法判断调用者是å¦å·²èŽ·å¾—授æƒ: %s"
-
-#: ../src/daemon/polkit.c:139
-#, c-format
-msgid "Cannot obtain auth: %s"
-msgstr "无法获å–授æƒ: %s"
-
-#: ../src/daemon/polkit.c:148
-#, c-format
-msgid "PolicyKit responded with '%s'"
-msgstr "PolicyKit回å¤'%s'"
-
-#: ../src/daemon/main.c:142
+#: ../src/daemon/main.c:145
#, c-format
msgid "Got signal %s."
msgstr "获得信å·%s"
-#: ../src/daemon/main.c:169
+#: ../src/daemon/main.c:172
msgid "Exiting."
msgstr "退出"
-#: ../src/daemon/main.c:187
+#: ../src/daemon/main.c:190
#, c-format
msgid "Failed to find user '%s'."
msgstr "找ä¸åˆ°ç”¨æˆ· `%s' "
-#: ../src/daemon/main.c:192
+#: ../src/daemon/main.c:195
#, c-format
msgid "Failed to find group '%s'."
msgstr "找ä¸åˆ°ç”¨æˆ·ç»„ `%s'"
-#: ../src/daemon/main.c:196
+#: ../src/daemon/main.c:199
#, c-format
msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."
msgstr "å‘现用户'%s' (UID %lu)和组'%s' (GID %lu)."
-#: ../src/daemon/main.c:201
+#: ../src/daemon/main.c:204
#, c-format
msgid "GID of user '%s' and of group '%s' don't match."
msgstr "用户'%s'与组'%s'çš„GIDä¸åŒ¹é…."
-#: ../src/daemon/main.c:206
+#: ../src/daemon/main.c:209
#, c-format
msgid "Home directory of user '%s' is not '%s', ignoring."
msgstr "用户'%s'的主文件夹ä¸æ˜¯'%s',忽略。"
-#: ../src/daemon/main.c:209 ../src/daemon/main.c:214
+#: ../src/daemon/main.c:212 ../src/daemon/main.c:217
#, c-format
msgid "Failed to create '%s': %s"
msgstr "创建'%s'失败: %s"
-#: ../src/daemon/main.c:221
+#: ../src/daemon/main.c:224
#, c-format
msgid "Failed to change group list: %s"
msgstr "更改组列表失败:%s"
-#: ../src/daemon/main.c:237
+#: ../src/daemon/main.c:240
#, c-format
msgid "Failed to change GID: %s"
msgstr "更改GID失败:%s"
-#: ../src/daemon/main.c:253
+#: ../src/daemon/main.c:256
#, c-format
msgid "Failed to change UID: %s"
msgstr "更改UID失败:%s"
-#: ../src/daemon/main.c:267
+#: ../src/daemon/main.c:270
msgid "Successfully dropped root privileges."
msgstr "æˆåŠŸæ”¾å¼ƒrootæƒé™ã€‚"
-#: ../src/daemon/main.c:275
+#: ../src/daemon/main.c:278
msgid "System wide mode unsupported on this platform."
msgstr "此平å°ä¸æ”¯æŒsystem-wide模å¼ã€‚"
-#: ../src/daemon/main.c:293
+#: ../src/daemon/main.c:296
#, c-format
msgid "setrlimit(%s, (%u, %u)) failed: %s"
msgstr "setrlimit(%s, (%u, %u)) 失败:%s"
-#: ../src/daemon/main.c:481
+#: ../src/daemon/main.c:471
msgid "Failed to parse command line."
msgstr "分æžå‘½ä»¤è¡Œå¤±è´¥ã€‚"
-#: ../src/daemon/main.c:505
-#, c-format
-msgid "We're in the group '%s', allowing high-priority scheduling."
-msgstr "我们在'%s'组中,å…许高优先级调度。"
-
-#: ../src/daemon/main.c:512
-#, c-format
-msgid "We're in the group '%s', allowing real-time scheduling."
-msgstr "我们在'%s'组中,å…许实时调度。"
-
-#: ../src/daemon/main.c:520
-msgid "PolicyKit grants us acquire-high-priority privilege."
-msgstr "PolicyKit授予我们“获å–高优先级â€æƒé™ã€‚"
-
-#: ../src/daemon/main.c:523
-msgid "PolicyKit refuses acquire-high-priority privilege."
-msgstr "PolicyKitæ‹’ç»â€œèŽ·å–高优先级â€æƒé™ã€‚"
-
-#: ../src/daemon/main.c:528
-msgid "PolicyKit grants us acquire-real-time privilege."
-msgstr "PolicyKit授予我们“获å–实时â€æƒé™ã€‚"
-
-#: ../src/daemon/main.c:531
-msgid "PolicyKit refuses acquire-real-time privilege."
-msgstr "PolicyKitæ‹’ç»æˆ‘们“获å–实时â€æƒé™ã€‚"
-
-#: ../src/daemon/main.c:560
-#, c-format
-msgid ""
-"Called SUID root and real-time and/or high-priority scheduling was requested "
-"in the configuration. However, we lack the necessary privileges:\n"
-"We are not in group '%s', PolicyKit refuse to grant us the requested "
-"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
-"limits.\n"
-"For enabling real-time/high-priority scheduling please acquire the "
-"appropriate PolicyKit privileges, or become a member of '%s', or increase "
-"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
-msgstr ""
-"é…置中需è¦è°ƒç”¨ SUID rootã€å®žæ—¶å’Œ/或者高优先调度。但是我们缺少必è¦çš„特æƒï¼š\n"
-"我们ä¸å±žäºŽç»„群 '%s',PolicyKit æ‹’ç»èµ‹äºˆæˆ‘们è¦æ±‚的特æƒï¼Œè€Œæˆ‘们无法增加 "
-"RLIMIT_NICE/RLIMIT_RTPRIO 资æºé™åˆ¶ã€‚\n"
-"è¦å¯ç”¨å®žæ—¶/高优先调度,请获得适当的 PolicyKit 特æƒï¼Œæˆ–者æˆä¸º '%s' æˆå‘˜ï¼Œä¹Ÿå¯"
-"以为这个用户增加 RLIMIT_NICE/RLIMIT_RTPRIO 资æºé™åˆ¶ã€‚"
-
-#: ../src/daemon/main.c:585
-msgid ""
-"High-priority scheduling enabled in configuration but not allowed by policy."
-msgstr "é…置中已å¯ç”¨é«˜ä¼˜å…ˆçº§è°ƒåº¦ï¼Œä½†ç­–略未å…许。"
-
-#: ../src/daemon/main.c:614
-msgid "Successfully increased RLIMIT_RTPRIO"
-msgstr "æ高RLIMIT_RTPRIOæˆåŠŸã€‚"
-
-#: ../src/daemon/main.c:617
-#, c-format
-msgid "RLIMIT_RTPRIO failed: %s"
-msgstr "RLIMIT_RTPRIO失败:%s"
-
-#: ../src/daemon/main.c:624
-msgid "Giving up CAP_NICE"
-msgstr "正在放弃CAP_NICE"
-
-#: ../src/daemon/main.c:631
-msgid ""
-"Real-time scheduling enabled in configuration but not allowed by policy."
-msgstr "é…置中已å¯ç”¨å®žæ—¶è°ƒåº¦ï¼Œä½†ç­–略未å…许。"
-
-#: ../src/daemon/main.c:692
+#: ../src/daemon/main.c:538
msgid "Daemon not running"
msgstr "åŽå°ç¨‹åºæ²¡æœ‰è¿è¡Œ"
-#: ../src/daemon/main.c:694
+#: ../src/daemon/main.c:540
#, c-format
msgid "Daemon running as PID %u"
msgstr "åŽå°ç¨‹åºæ­£åœ¨è¿è¡Œï¼ŒPID %u"
-#: ../src/daemon/main.c:704
+#: ../src/daemon/main.c:550
#, c-format
msgid "Failed to kill daemon: %s"
msgstr "æ€æ­»åŽå°ç¨‹åºå¤±è´¥ï¼š%s"
-#: ../src/daemon/main.c:722
+#: ../src/daemon/main.c:568
msgid ""
"This program is not intended to be run as root (unless --system is "
"specified)."
msgstr "ä¸åº”以root身份è¿è¡Œæœ¬ç¨‹åºï¼ˆé™¤éžæŒ‡å®š --system)。"
-#: ../src/daemon/main.c:724
+#: ../src/daemon/main.c:570
msgid "Root privileges required."
msgstr "éœ€è¦ root æƒé™ã€‚"
-#: ../src/daemon/main.c:729
+#: ../src/daemon/main.c:575
msgid "--start not supported for system instances."
msgstr "系统实例ä¸æ”¯æŒ --start。"
-#: ../src/daemon/main.c:734
+#: ../src/daemon/main.c:580
msgid "Running in system mode, but --disallow-exit not set!"
msgstr "正在以系统模å¼è¿è¡Œï¼Œä½†æ˜¯ --disallow-exit 未设定ï¼"
-#: ../src/daemon/main.c:737
+#: ../src/daemon/main.c:583
msgid "Running in system mode, but --disallow-module-loading not set!"
msgstr "正在以系统模å¼è¿è¡Œï¼Œä½†æ˜¯ --disallow-module-loading 未设定ï¼"
-#: ../src/daemon/main.c:740
+#: ../src/daemon/main.c:586
msgid "Running in system mode, forcibly disabling SHM mode!"
msgstr "正在以系统模å¼è¿è¡Œï¼Œå¼ºåˆ¶ç¦ç”¨SHM模å¼ï¼"
-#: ../src/daemon/main.c:745
+#: ../src/daemon/main.c:591
msgid "Running in system mode, forcibly disabling exit idle time!"
msgstr "正在以系统模å¼è¿è¡Œï¼Œå¼ºåˆ¶ç¦ç”¨é€€å‡ºç©ºé—²æ—¶é—´ï¼"
-#: ../src/daemon/main.c:772
+#: ../src/daemon/main.c:618
msgid "Failed to acquire stdio."
msgstr "获å–stdio失败。"
-#: ../src/daemon/main.c:778
+#: ../src/daemon/main.c:624
#, c-format
msgid "pipe failed: %s"
msgstr "管é“失败:%s"
-#: ../src/daemon/main.c:783
+#: ../src/daemon/main.c:629
#, c-format
msgid "fork() failed: %s"
msgstr "fork()失败:%s"
-#: ../src/daemon/main.c:797
+#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505
#, c-format
msgid "read() failed: %s"
msgstr "read()失败:%s"
-#: ../src/daemon/main.c:803
+#: ../src/daemon/main.c:649
msgid "Daemon startup failed."
msgstr "åŽå°ç¨‹åºå¯åŠ¨å¤±è´¥ã€‚"
-#: ../src/daemon/main.c:805
+#: ../src/daemon/main.c:651
msgid "Daemon startup successful."
msgstr "åŽå°ç¨‹åºå¯åŠ¨æˆåŠŸã€‚"
-#: ../src/daemon/main.c:875
+#: ../src/daemon/main.c:728
#, c-format
msgid "This is PulseAudio %s"
msgstr "这是 PulseAudio %s"
-#: ../src/daemon/main.c:876
+#: ../src/daemon/main.c:729
#, c-format
msgid "Compilation host: %s"
msgstr "编译主机:%s"
-#: ../src/daemon/main.c:877
+#: ../src/daemon/main.c:730
#, c-format
msgid "Compilation CFLAGS: %s"
msgstr "编译CFLAGS:%s"
-#: ../src/daemon/main.c:880
+#: ../src/daemon/main.c:733
#, c-format
msgid "Running on host: %s"
msgstr "正在主机上è¿è¡Œï¼š%s"
-#: ../src/daemon/main.c:883
+#: ../src/daemon/main.c:736
#, c-format
msgid "Found %u CPUs."
msgstr "找到 %u CPU。"
-#: ../src/daemon/main.c:885
+#: ../src/daemon/main.c:738
#, c-format
msgid "Page size is %lu bytes"
msgstr "页é¢å¤§å°ä¸º%lu字节"
-#: ../src/daemon/main.c:888
+#: ../src/daemon/main.c:741
msgid "Compiled with Valgrind support: yes"
msgstr "编译å¯ç”¨Valgrind支æŒï¼šæ˜¯"
-#: ../src/daemon/main.c:890
+#: ../src/daemon/main.c:743
msgid "Compiled with Valgrind support: no"
msgstr "编译å¯ç”¨Valgrind支æŒï¼šå¦"
-#: ../src/daemon/main.c:893
+#: ../src/daemon/main.c:746
#, c-format
msgid "Running in valgrind mode: %s"
msgstr "正在以valgrind模å¼è¿è¡Œï¼š%s"
-#: ../src/daemon/main.c:896
+#: ../src/daemon/main.c:749
msgid "Optimized build: yes"
msgstr "优化生æˆï¼šæ˜¯"
-#: ../src/daemon/main.c:898
+#: ../src/daemon/main.c:751
msgid "Optimized build: no"
msgstr "优化生æˆï¼šå¦"
-#: ../src/daemon/main.c:902
+#: ../src/daemon/main.c:755
msgid "NDEBUG defined, all asserts disabled."
msgstr "æ‹’ç» NDEBUG,ç¦ç”¨æ‰€æœ‰ assert"
-#: ../src/daemon/main.c:904
+#: ../src/daemon/main.c:757
msgid "FASTPATH defined, only fast path asserts disabled."
msgstr "æ‹’ç» FASTPATH,åªç¦ç”¨å¿«é€Ÿè·¯å¾„ assert。"
-#: ../src/daemon/main.c:906
+#: ../src/daemon/main.c:759
msgid "All asserts enabled."
msgstr "å¯ç”¨æ‰€æœ‰ assert。"
-#: ../src/daemon/main.c:910
+#: ../src/daemon/main.c:763
msgid "Failed to get machine ID"
msgstr "获å–machine ID失败"
-#: ../src/daemon/main.c:913
+#: ../src/daemon/main.c:766
#, c-format
msgid "Machine ID is %s."
msgstr "machine ID是%s。"
-#: ../src/daemon/main.c:917
+#: ../src/daemon/main.c:770
#, fuzzy, c-format
msgid "Session ID is %s."
msgstr "machine ID是%s。"
-#: ../src/daemon/main.c:923
+#: ../src/daemon/main.c:776
#, c-format
msgid "Using runtime directory %s."
msgstr "正在使用è¿è¡Œæ—¶æ–‡ä»¶å¤¹%s。"
-#: ../src/daemon/main.c:928
+#: ../src/daemon/main.c:781
#, c-format
msgid "Using state directory %s."
msgstr "正在使用状æ€æ–‡ä»¶å¤¹%s。"
-#: ../src/daemon/main.c:931
+#: ../src/daemon/main.c:784
#, c-format
msgid "Running in system mode: %s"
msgstr "正在以系统模å¼è¿è¡Œï¼š%s"
-#: ../src/daemon/main.c:934
+#: ../src/daemon/main.c:787
msgid ""
"OK, so you are running PA in system mode. Please note that you most likely "
"shouldn't be doing that.\n"
@@ -451,41 +335,41 @@ msgid ""
"explanation why system mode is usually a bad idea."
msgstr ""
-#: ../src/daemon/main.c:951
+#: ../src/daemon/main.c:804
msgid "pa_pid_file_create() failed."
msgstr "pa_pid_file_create()失败。"
-#: ../src/daemon/main.c:961
+#: ../src/daemon/main.c:814
msgid "Fresh high-resolution timers available! Bon appetit!"
msgstr "新鲜的高分辨率计时器开锅了ï¼åƒä¸ªé¥±ï¼"
-#: ../src/daemon/main.c:963
+#: ../src/daemon/main.c:816
msgid ""
"Dude, your kernel stinks! The chef's recommendation today is Linux with high-"
"resolution timers enabled!"
msgstr "è€å…„,你的内核真臭ï¼çŽ°åœ¨æµè¡Œçš„是å¯ç”¨äº†é«˜åˆ†è¾©çŽ‡è®¡åˆ†å™¨çš„Linuxï¼"
-#: ../src/daemon/main.c:988
+#: ../src/daemon/main.c:834
msgid "pa_core_new() failed."
msgstr "pa_core_new()失败。"
-#: ../src/daemon/main.c:1050
+#: ../src/daemon/main.c:896
msgid "Failed to initialize daemon."
msgstr "åŽå°ç¨‹åºåˆå§‹åŒ–失败。"
-#: ../src/daemon/main.c:1055
+#: ../src/daemon/main.c:901
msgid "Daemon startup without any loaded modules, refusing to work."
msgstr "åŽå°ç¨‹åºå¯åŠ¨æœªåŠ è½½ä»»ä½•æ¨¡å—,拒ç»å·¥ä½œã€‚"
-#: ../src/daemon/main.c:1072
+#: ../src/daemon/main.c:918
msgid "Daemon startup complete."
msgstr "åŽå°ç¨‹åºå¯åŠ¨å®Œæˆã€‚"
-#: ../src/daemon/main.c:1078
+#: ../src/daemon/main.c:924
msgid "Daemon shutdown initiated."
msgstr "开始关闭åŽå°ç¨‹åºã€‚"
-#: ../src/daemon/main.c:1100
+#: ../src/daemon/main.c:946
msgid "Daemon terminated."
msgstr "åŽå°ç¨‹åºå·²ç»ˆæ­¢ã€‚"
@@ -802,14 +686,10 @@ msgstr "指定的默认频é“地图的频é“数与指定的默认频é“æ•°ä¸åŒ
msgid "### Read from configuration file: %s ###\n"
msgstr "### 从é…置文件读å–:%s ###\n"
-#: ../src/daemon/caps.c:63
+#: ../src/daemon/caps.c:65
msgid "Dropping root privileges."
msgstr "正在å–消 root 特æƒã€‚"
-#: ../src/daemon/caps.c:103
-msgid "Limited capabilities successfully to CAP_SYS_NICE."
-msgstr "性能æˆåŠŸé™åˆ¶åˆ°CAP_SYS_NICE。"
-
#: ../src/daemon/pulseaudio.desktop.in.h:1
msgid "PulseAudio Sound System"
msgstr "PulseAudio 声音系统"
@@ -818,24 +698,6 @@ msgstr "PulseAudio 声音系统"
msgid "Start the PulseAudio Sound System"
msgstr "å¯åŠ¨ PulseAudio 声音系统"
-#: ../src/daemon/org.pulseaudio.policy.in.h:1
-msgid ""
-"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon"
-msgstr "PulseAudio 守护进程的高优先调度(负的 Unix nic 等级)"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:2
-msgid "Real-time scheduling for the PulseAudio daemon"
-msgstr "PulseAudio 守护进程的实时调度。"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:3
-msgid ""
-"System policy prevents PulseAudio from acquiring high-priority scheduling."
-msgstr "系统策略防止 PulseAudio 获得高优先调度。"
-
-#: ../src/daemon/org.pulseaudio.policy.in.h:4
-msgid "System policy prevents PulseAudio from acquiring real-time scheduling."
-msgstr "系统策略防止 PulseAudio 获得实时调度。"
-
#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747
msgid "Mono"
msgstr "å•å£°é“"
@@ -1208,183 +1070,187 @@ msgstr "cookieæ•°æ®åˆ†æžå¤±è´¥"
msgid "Failed to open configuration file '%s': %s"
msgstr "打开é…置文件'%s'失败:%s"
-#: ../src/pulse/context.c:546
+#: ../src/pulse/context.c:550
msgid "No cookie loaded. Attempting to connect without."
msgstr "没有加载cookie。å°è¯•ä¸åŠ è½½cookie进行连接。"
-#: ../src/pulse/context.c:676
+#: ../src/pulse/context.c:693
#, c-format
msgid "fork(): %s"
msgstr "fork():%s"
-#: ../src/pulse/context.c:729
+#: ../src/pulse/context.c:745
#, c-format
msgid "waitpid(): %s"
msgstr "waitpid():%s"
-#: ../src/pulse/context.c:1403
+#: ../src/pulse/context.c:1432
#, c-format
msgid "Received message for unknown extension '%s'"
msgstr "收到未知扩展'%s'çš„ä¿¡æ¯"
-#: ../src/utils/pacat.c:107
-#, c-format
-msgid "Failed to drain stream: %s\n"
+#: ../src/utils/pacat.c:108
+#, fuzzy, c-format
+msgid "Failed to drain stream: %s"
msgstr "排出æµå¤±è´¥ï¼š%s\n"
-#: ../src/utils/pacat.c:112
-msgid "Playback stream drained.\n"
+#: ../src/utils/pacat.c:113
+#, fuzzy
+msgid "Playback stream drained."
msgstr "æµæ’­æ”¾å®Œæ¯•ã€‚\n"
-#: ../src/utils/pacat.c:122
-msgid "Draining connection to server.\n"
+#: ../src/utils/pacat.c:123
+#, fuzzy
+msgid "Draining connection to server."
msgstr "Draining 连接到æœåŠ¡å™¨ã€‚\n"
-#: ../src/utils/pacat.c:135
-#, c-format
-msgid "pa_stream_drain(): %s\n"
+#: ../src/utils/pacat.c:136
+#, fuzzy, c-format
+msgid "pa_stream_drain(): %s"
msgstr "pa_stream_drain():%s\n"
-#: ../src/utils/pacat.c:158
-#, c-format
-msgid "pa_stream_write() failed: %s\n"
+#: ../src/utils/pacat.c:159
+#, fuzzy, c-format
+msgid "pa_stream_write() failed: %s"
msgstr "pa_stream_write()失败:%s\n"
-#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262
-#, c-format
-msgid "pa_stream_peek() failed: %s\n"
+#: ../src/utils/pacat.c:197
+#, fuzzy, c-format
+msgid "pa_stream_begin_write() failed: %s"
+msgstr "pa_stream_write()失败:%s\n"
+
+#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267
+#, fuzzy, c-format
+msgid "pa_stream_peek() failed: %s"
msgstr "pa_stream_peek()失败:%s\n"
-#: ../src/utils/pacat.c:302
-msgid "Stream successfully created.\n"
+#: ../src/utils/pacat.c:307
+#, fuzzy
+msgid "Stream successfully created."
msgstr "æµåˆ›å»ºæˆåŠŸã€‚\n"
-#: ../src/utils/pacat.c:305
-#, c-format
-msgid "pa_stream_get_buffer_attr() failed: %s\n"
+#: ../src/utils/pacat.c:310
+#, fuzzy, c-format
+msgid "pa_stream_get_buffer_attr() failed: %s"
msgstr "pa_stream_get_buffer_attr()失败:%s\n"
-#: ../src/utils/pacat.c:309
-#, c-format
-msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"
+#: ../src/utils/pacat.c:314
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"
msgstr "缓冲计é‡ï¼šmaxlength=%u,tlength=%u,prebuf=%u,minreq=%u\n"
-#: ../src/utils/pacat.c:312
-#, c-format
-msgid "Buffer metrics: maxlength=%u, fragsize=%u\n"
+#: ../src/utils/pacat.c:317
+#, fuzzy, c-format
+msgid "Buffer metrics: maxlength=%u, fragsize=%u"
msgstr "缓冲计é‡ï¼šmaxlength=%u,fragsize=%u\n"
-#: ../src/utils/pacat.c:316
-#, c-format
-msgid "Using sample spec '%s', channel map '%s'.\n"
+#: ../src/utils/pacat.c:321
+#, fuzzy, c-format
+msgid "Using sample spec '%s', channel map '%s'."
msgstr "正在使用样å“规格'%s',通é“映射'%s'。\n"
-#: ../src/utils/pacat.c:320
-#, c-format
-msgid "Connected to device %s (%u, %ssuspended).\n"
+#: ../src/utils/pacat.c:325
+#, fuzzy, c-format
+msgid "Connected to device %s (%u, %ssuspended)."
msgstr "已连接至设备%s (%u,%s挂起)。\n"
-#: ../src/utils/pacat.c:330
-#, c-format
-msgid "Stream error: %s\n"
+#: ../src/utils/pacat.c:335
+#, fuzzy, c-format
+msgid "Stream error: %s"
msgstr "æµé”™è¯¯ï¼š%s\n"
-#: ../src/utils/pacat.c:340
-#, c-format
-msgid "Stream device suspended.%s \n"
+#: ../src/utils/pacat.c:345
+#, fuzzy, c-format
+msgid "Stream device suspended.%s"
msgstr "æµè®¾å¤‡æŒ‚起。%s\n"
-#: ../src/utils/pacat.c:342
-#, c-format
-msgid "Stream device resumed.%s \n"
+#: ../src/utils/pacat.c:347
+#, fuzzy, c-format
+msgid "Stream device resumed.%s"
msgstr "æµè®¾å¤‡æ¢å¤ã€‚%s\n"
-#: ../src/utils/pacat.c:350
-#, c-format
-msgid "Stream underrun.%s \n"
+#: ../src/utils/pacat.c:355
+#, fuzzy, c-format
+msgid "Stream underrun.%s"
msgstr "æµæ¬ è½½è¿è¡Œã€‚%s\n"
-#: ../src/utils/pacat.c:357
-#, c-format
-msgid "Stream overrun.%s \n"
+#: ../src/utils/pacat.c:362
+#, fuzzy, c-format
+msgid "Stream overrun.%s"
msgstr "æµè¶…é™è¿è¡Œã€‚%s\n"
-#: ../src/utils/pacat.c:364
-#, c-format
-msgid "Stream started.%s \n"
+#: ../src/utils/pacat.c:369
+#, fuzzy, c-format
+msgid "Stream started.%s"
msgstr "æµå·²å¯åŠ¨ã€‚%s\n"
-#: ../src/utils/pacat.c:371
-#, c-format
-msgid "Stream moved to device %s (%u, %ssuspended).%s \n"
+#: ../src/utils/pacat.c:376
+#, fuzzy, c-format
+msgid "Stream moved to device %s (%u, %ssuspended).%s"
msgstr "æµç§»è‡³è®¾å¤‡%s (%u,%s挂起)。%s\n"
-#: ../src/utils/pacat.c:371
+#: ../src/utils/pacat.c:376
msgid "not "
msgstr "not "
-#: ../src/utils/pacat.c:378
-#, c-format
-msgid "Stream buffer attributes changed.%s \n"
+#: ../src/utils/pacat.c:383
+#, fuzzy, c-format
+msgid "Stream buffer attributes changed.%s"
msgstr "更改æµæ¢å‡ºå±žæ€§ã€‚%s\n"
-#: ../src/utils/pacat.c:411
-#, c-format
-msgid "Connection established.%s \n"
+#: ../src/utils/pacat.c:416
+#, fuzzy, c-format
+msgid "Connection established.%s"
msgstr "连接已建立。%s \n"
-#: ../src/utils/pacat.c:414
-#, c-format
-msgid "pa_stream_new() failed: %s\n"
+#: ../src/utils/pacat.c:419
+#, fuzzy, c-format
+msgid "pa_stream_new() failed: %s"
msgstr "pa_stream_new()失败:%s\n"
-#: ../src/utils/pacat.c:442
-#, c-format
-msgid "pa_stream_connect_playback() failed: %s\n"
+#: ../src/utils/pacat.c:447
+#, fuzzy, c-format
+msgid "pa_stream_connect_playback() failed: %s"
msgstr "pa_stream_connect_playback()失败:%s\n"
-#: ../src/utils/pacat.c:448
-#, c-format
-msgid "pa_stream_connect_record() failed: %s\n"
+#: ../src/utils/pacat.c:453
+#, fuzzy, c-format
+msgid "pa_stream_connect_record() failed: %s"
msgstr "pa_stream_connect_playback()失败:%s\n"
-#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159
-#: ../src/utils/pactl.c:814
-#, c-format
-msgid "Connection failure: %s\n"
+#: ../src/utils/pacat.c:467
+#, fuzzy, c-format
+msgid "Connection failure: %s"
msgstr "连接失败:%s\n"
-#: ../src/utils/pacat.c:495
-msgid "Got EOF.\n"
-msgstr "收到EOF。\n"
-
#: ../src/utils/pacat.c:500
-#, c-format
-msgid "read() failed: %s\n"
-msgstr "read()失败:%s\n"
+#, fuzzy
+msgid "Got EOF."
+msgstr "收到EOF。\n"
-#: ../src/utils/pacat.c:532
-#, c-format
-msgid "write() failed: %s\n"
+#: ../src/utils/pacat.c:537
+#, fuzzy, c-format
+msgid "write() failed: %s"
msgstr "write()失败:%s\n"
-#: ../src/utils/pacat.c:553
-msgid "Got signal, exiting.\n"
+#: ../src/utils/pacat.c:558
+#, fuzzy
+msgid "Got signal, exiting."
msgstr "收到信å·ï¼Œæ­£åœ¨é€€å‡ºã€‚\n"
-#: ../src/utils/pacat.c:567
-#, c-format
-msgid "Failed to get latency: %s\n"
+#: ../src/utils/pacat.c:572
+#, fuzzy, c-format
+msgid "Failed to get latency: %s"
msgstr "获å–传输延迟失败:%s\n"
-#: ../src/utils/pacat.c:572
+#: ../src/utils/pacat.c:577
#, c-format
msgid "Time: %0.3f sec; Latency: %0.0f usec. \r"
msgstr "时间:%0.3f秒;延迟:%0.0f 微秒。 \r"
-#: ../src/utils/pacat.c:592
-#, c-format
-msgid "pa_stream_update_timing_info() failed: %s\n"
+#: ../src/utils/pacat.c:595
+#, fuzzy, c-format
+msgid "pa_stream_update_timing_info() failed: %s"
msgstr "pa_stream_update_timing_info()失败:%s\n"
#: ../src/utils/pacat.c:605
@@ -1490,34 +1356,34 @@ msgstr ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
-#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900
+#: ../src/utils/pacat.c:760
#, fuzzy, c-format
-msgid "Invalid client name '%s'\n"
+msgid "Invalid client name '%s'"
msgstr "无效的通é“映射æè¿°'%s'\n"
#: ../src/utils/pacat.c:776
#, fuzzy, c-format
-msgid "Invalid stream name '%s'\n"
+msgid "Invalid stream name '%s'"
msgstr "无效的é‡é‡‡æ ·æ–¹æ³•'%s'。"
#: ../src/utils/pacat.c:813
-#, c-format
-msgid "Invalid channel map '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid channel map '%s'"
msgstr "无效的通é“映射æè¿°'%s'\n"
#: ../src/utils/pacat.c:842
-#, c-format
-msgid "Invalid latency specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid latency specification '%s'"
msgstr "无效的延迟规格æè¿° %s'\n"
#: ../src/utils/pacat.c:849
-#, c-format
-msgid "Invalid process time specification '%s'\n"
+#, fuzzy, c-format
+msgid "Invalid process time specification '%s'"
msgstr "无效的处ç†æ—¶é—´æè¿° '%s'\n"
#: ../src/utils/pacat.c:861
#, fuzzy, c-format
-msgid "Invalid property '%s'\n"
+msgid "Invalid property '%s'"
msgstr "无效的é‡é‡‡æ ·æ–¹æ³•'%s'。"
#: ../src/utils/pacat.c:878
@@ -1526,60 +1392,66 @@ msgid "Unknown file format %s."
msgstr ""
#: ../src/utils/pacat.c:897
-msgid "Invalid sample specification\n"
+#, fuzzy
+msgid "Invalid sample specification"
msgstr "无效的采样æè¿°\n"
#: ../src/utils/pacat.c:907
-#, c-format
-msgid "open(): %s\n"
+#, fuzzy, c-format
+msgid "open(): %s"
msgstr "open():%s\n"
#: ../src/utils/pacat.c:912
-#, c-format
-msgid "dup2(): %s\n"
+#, fuzzy, c-format
+msgid "dup2(): %s"
msgstr "dup2():%s\n"
#: ../src/utils/pacat.c:919
-msgid "Too many arguments.\n"
+#, fuzzy
+msgid "Too many arguments."
msgstr "å‚数过多。\n"
#: ../src/utils/pacat.c:930
#, fuzzy
-msgid "Failed to generate sample specification for file.\n"
+msgid "Failed to generate sample specification for file."
msgstr "获å–采样信æ¯å¤±è´¥ï¼š%s\n"
#: ../src/utils/pacat.c:950
#, fuzzy
-msgid "Failed to open audio file.\n"
+msgid "Failed to open audio file."
msgstr "打开声音文件失败。\n"
#: ../src/utils/pacat.c:956
+#, fuzzy
msgid ""
"Warning: specified sample specification will be overwritten with "
-"specification from file.\n"
-msgstr ""
+"specification from file."
+msgstr "以采样规格'%s'打开%sæµã€‚\n"
-#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944
+#: ../src/utils/pacat.c:959
#, fuzzy
-msgid "Failed to determine sample specification from file.\n"
+msgid "Failed to determine sample specification from file."
msgstr "获å–采样信æ¯å¤±è´¥ï¼š%s\n"
#: ../src/utils/pacat.c:968
-msgid "Warning: Failed to determine channel map from file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: Failed to determine channel map from file."
+msgstr "以采样规格'%s'打开%sæµã€‚\n"
#: ../src/utils/pacat.c:979
-msgid "Channel map doesn't match sample specification\n"
+#, fuzzy
+msgid "Channel map doesn't match sample specification"
msgstr "通é“映射与采样æè¿°ä¸åŒ¹é…\n"
#: ../src/utils/pacat.c:990
-msgid "Warning: failed to write channel map to file.\n"
-msgstr ""
+#, fuzzy
+msgid "Warning: failed to write channel map to file."
+msgstr "以采样规格'%s'打开%sæµã€‚\n"
#: ../src/utils/pacat.c:1005
#, fuzzy, c-format
msgid ""
-"Opening a %s stream with sample specification '%s' and channel map '%s'.\n"
+"Opening a %s stream with sample specification '%s' and channel map '%s'."
msgstr "以采样规格'%s'打开%sæµã€‚\n"
#: ../src/utils/pacat.c:1006
@@ -1590,35 +1462,34 @@ msgstr "正在录制"
msgid "playback"
msgstr "回放"
-#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277
-#: ../src/utils/pactl.c:1104
-#, c-format
-msgid "pa_mainloop_new() failed.\n"
+#: ../src/utils/pacat.c:1032
+#, fuzzy
+msgid "pa_mainloop_new() failed."
msgstr "pa_mainloop_new()失败。\n"
#: ../src/utils/pacat.c:1051
-msgid "io_new() failed.\n"
+#, fuzzy
+msgid "io_new() failed."
msgstr "io_new()失败。\n"
-#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290
-#: ../src/utils/pactl.c:1116
-#, c-format
-msgid "pa_context_new() failed.\n"
+#: ../src/utils/pacat.c:1058
+#, fuzzy
+msgid "pa_context_new() failed."
msgstr "pa_context_new()失败。\n"
-#: ../src/utils/pacat.c:1066
-#, fuzzy, c-format
-msgid "pa_context_connect() failed: %s\n"
+#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122
+#, c-format
+msgid "pa_context_connect() failed: %s"
msgstr "pa_context_connect()失败:%s"
-#: ../src/utils/pacat.c:1077
-msgid "time_new() failed.\n"
-msgstr "time_new()失败。\n"
+#: ../src/utils/pacat.c:1072
+#, fuzzy
+msgid "pa_context_rttime_new() failed."
+msgstr "pa_context_new()失败。\n"
-#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298
-#: ../src/utils/pactl.c:1127
-#, c-format
-msgid "pa_mainloop_run() failed.\n"
+#: ../src/utils/pacat.c:1079
+#, fuzzy
+msgid "pa_mainloop_run() failed."
msgstr "pa_mainloop_run()失败。\n"
#: ../src/utils/pasuspender.c:81
@@ -1646,6 +1517,11 @@ msgstr "æ¢å¤å¤±è´¥ï¼š%s\n"
msgid "WARNING: Sound server is not local, not suspending.\n"
msgstr "警告:éžæœ¬åœ°å£°éŸ³æœåŠ¡å™¨ï¼Œä¸ä¼šæŒ‚起。\n"
+#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814
+#, c-format
+msgid "Connection failure: %s\n"
+msgstr "连接失败:%s\n"
+
#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820
#, c-format
msgid "Got SIGINT, exiting.\n"
@@ -1685,6 +1561,21 @@ msgstr ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
+#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104
+#, c-format
+msgid "pa_mainloop_new() failed.\n"
+msgstr "pa_mainloop_new()失败。\n"
+
+#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116
+#, c-format
+msgid "pa_context_new() failed.\n"
+msgstr "pa_context_new()失败。\n"
+
+#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127
+#, c-format
+msgid "pa_mainloop_run() failed.\n"
+msgstr "pa_mainloop_run()失败。\n"
+
#: ../src/utils/pactl.c:128
#, c-format
msgid "Failed to get statistics: %s\n"
@@ -2099,6 +1990,11 @@ msgstr ""
"Compiled with libpulse %s\n"
"Linked with libpulse %s\n"
+#: ../src/utils/pactl.c:900
+#, fuzzy, c-format
+msgid "Invalid client name '%s'\n"
+msgstr "无效的通é“映射æè¿°'%s'\n"
+
#: ../src/utils/pactl.c:926
msgid "Please specify a sample file to load\n"
msgstr "请指定è¦åŠ è½½çš„采样文件\n"
@@ -2107,6 +2003,11 @@ msgstr "请指定è¦åŠ è½½çš„采样文件\n"
msgid "Failed to open sound file.\n"
msgstr "打开声音文件失败。\n"
+#: ../src/utils/pactl.c:944
+#, fuzzy
+msgid "Failed to determine sample specification from file.\n"
+msgstr "获å–采样信æ¯å¤±è´¥ï¼š%s\n"
+
#: ../src/utils/pactl.c:951
#, fuzzy
msgid "Warning: Failed to determine sample specification from file.\n"
@@ -2166,11 +2067,6 @@ msgstr "你必须指定声å¡å称/索引和侧写å称\n"
msgid "No valid command specified.\n"
msgstr "未指定有效的命令。\n"
-#: ../src/utils/pactl.c:1122
-#, c-format
-msgid "pa_context_connect() failed: %s"
-msgstr "pa_context_connect()失败:%s"
-
#: ../src/utils/pax11publish.c:61
#, c-format
msgid ""
@@ -2286,11 +2182,11 @@ msgstr "read():%s"
msgid "write(): %s"
msgstr "write():%s"
-#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207
+#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219
msgid "Cannot access autospawn lock."
msgstr "ä¸èƒ½è®¿é—®autospawné”。"
-#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593
+#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606
#, c-format
msgid ""
"ALSA woke us up to write new data to the device, but there was actually "
@@ -2306,7 +2202,7 @@ msgstr ""
"æ醒我们设置 POLLOUT -- 但结果是 snd_pcm_avail() 返回 0 或者å¦ä¸€ä¸ªå°äºŽæœ€å°å¯"
"用值的数值。"
-#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563
+#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578
#, c-format
msgid ""
"ALSA woke us up to read new data from the device, but there was actually "
@@ -2323,15 +2219,15 @@ msgstr ""
"用值的数值。"
#: ../src/modules/alsa/module-alsa-card.c:152
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2062
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2065
msgid "Off"
msgstr "关闭"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2032
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2035
msgid "High Fidelity Playback (A2DP)"
msgstr "高ä¿çœŸå›žæ”¾ï¼ˆA2DP)"
-#: ../src/modules/bluetooth/module-bluetooth-device.c:2047
+#: ../src/modules/bluetooth/module-bluetooth-device.c:2050
msgid "Telephony Duplex (HSP/HFP)"
msgstr "åŒå·¥ç”µè¯ï¼ˆHSP/HFP)"
@@ -2339,6 +2235,125 @@ msgstr "åŒå·¥ç”µè¯ï¼ˆHSP/HFP)"
msgid "PulseAudio Sound Server"
msgstr "PulseAudio 声音æœåŠ¡å™¨"
+#~ msgid "Cannot connect to system bus: %s"
+#~ msgstr "无法连接到系统总线:%s"
+
+#~ msgid "Cannot get caller from PID: %s"
+#~ msgstr "无法从PID获å–调用者:%s"
+
+#~ msgid "Cannot set UID on caller object."
+#~ msgstr "无法为调用者设定UID。"
+
+#~ msgid "Failed to get CK session."
+#~ msgstr "获å–CK会è¯å¤±è´¥ã€‚"
+
+#~ msgid "Cannot set UID on session object."
+#~ msgstr "无法为会è¯å¯¹è±¡è®¾å®šUID。"
+
+#~ msgid "Cannot allocate PolKitAction."
+#~ msgstr "ä¸èƒ½åˆ†é…PolKitAction。"
+
+#~ msgid "Cannot set action_id"
+#~ msgstr "无法设定action_id"
+
+#~ msgid "Cannot allocate PolKitContext."
+#~ msgstr "无法分é…PolKitContext。"
+
+#~ msgid "Cannot initialize PolKitContext: %s"
+#~ msgstr "无法åˆä½¿åŒ–PolKitContext: %s"
+
+#~ msgid "Could not determine whether caller is authorized: %s"
+#~ msgstr "无法判断调用者是å¦å·²èŽ·å¾—授æƒ: %s"
+
+#~ msgid "Cannot obtain auth: %s"
+#~ msgstr "无法获å–授æƒ: %s"
+
+#~ msgid "PolicyKit responded with '%s'"
+#~ msgstr "PolicyKit回å¤'%s'"
+
+#~ msgid ""
+#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio "
+#~ "daemon"
+#~ msgstr "PulseAudio 守护进程的高优先调度(负的 Unix nic 等级)"
+
+#~ msgid "Real-time scheduling for the PulseAudio daemon"
+#~ msgstr "PulseAudio 守护进程的实时调度。"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring high-priority scheduling."
+#~ msgstr "系统策略防止 PulseAudio 获得高优先调度。"
+
+#~ msgid ""
+#~ "System policy prevents PulseAudio from acquiring real-time scheduling."
+#~ msgstr "系统策略防止 PulseAudio 获得实时调度。"
+
+#~ msgid "read() failed: %s\n"
+#~ msgstr "read()失败:%s\n"
+
+#, fuzzy
+#~ msgid "pa_context_connect() failed: %s\n"
+#~ msgstr "pa_context_connect()失败:%s"
+
+#~ msgid "We're in the group '%s', allowing high-priority scheduling."
+#~ msgstr "我们在'%s'组中,å…许高优先级调度。"
+
+#~ msgid "We're in the group '%s', allowing real-time scheduling."
+#~ msgstr "我们在'%s'组中,å…许实时调度。"
+
+#~ msgid "PolicyKit grants us acquire-high-priority privilege."
+#~ msgstr "PolicyKit授予我们“获å–高优先级â€æƒé™ã€‚"
+
+#~ msgid "PolicyKit refuses acquire-high-priority privilege."
+#~ msgstr "PolicyKitæ‹’ç»â€œèŽ·å–高优先级â€æƒé™ã€‚"
+
+#~ msgid "PolicyKit grants us acquire-real-time privilege."
+#~ msgstr "PolicyKit授予我们“获å–实时â€æƒé™ã€‚"
+
+#~ msgid "PolicyKit refuses acquire-real-time privilege."
+#~ msgstr "PolicyKitæ‹’ç»æˆ‘们“获å–实时â€æƒé™ã€‚"
+
+#~ msgid ""
+#~ "Called SUID root and real-time and/or high-priority scheduling was "
+#~ "requested in the configuration. However, we lack the necessary "
+#~ "privileges:\n"
+#~ "We are not in group '%s', PolicyKit refuse to grant us the requested "
+#~ "privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource "
+#~ "limits.\n"
+#~ "For enabling real-time/high-priority scheduling please acquire the "
+#~ "appropriate PolicyKit privileges, or become a member of '%s', or increase "
+#~ "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user."
+#~ msgstr ""
+#~ "é…置中需è¦è°ƒç”¨ SUID rootã€å®žæ—¶å’Œ/或者高优先调度。但是我们缺少必è¦çš„特"
+#~ "æƒï¼š\n"
+#~ "我们ä¸å±žäºŽç»„群 '%s',PolicyKit æ‹’ç»èµ‹äºˆæˆ‘们è¦æ±‚的特æƒï¼Œè€Œæˆ‘们无法增加 "
+#~ "RLIMIT_NICE/RLIMIT_RTPRIO 资æºé™åˆ¶ã€‚\n"
+#~ "è¦å¯ç”¨å®žæ—¶/高优先调度,请获得适当的 PolicyKit 特æƒï¼Œæˆ–者æˆä¸º '%s' æˆå‘˜ï¼Œä¹Ÿ"
+#~ "å¯ä»¥ä¸ºè¿™ä¸ªç”¨æˆ·å¢žåŠ  RLIMIT_NICE/RLIMIT_RTPRIO 资æºé™åˆ¶ã€‚"
+
+#~ msgid ""
+#~ "High-priority scheduling enabled in configuration but not allowed by "
+#~ "policy."
+#~ msgstr "é…置中已å¯ç”¨é«˜ä¼˜å…ˆçº§è°ƒåº¦ï¼Œä½†ç­–略未å…许。"
+
+#~ msgid "Successfully increased RLIMIT_RTPRIO"
+#~ msgstr "æ高RLIMIT_RTPRIOæˆåŠŸã€‚"
+
+#~ msgid "RLIMIT_RTPRIO failed: %s"
+#~ msgstr "RLIMIT_RTPRIO失败:%s"
+
+#~ msgid "Giving up CAP_NICE"
+#~ msgstr "正在放弃CAP_NICE"
+
+#~ msgid ""
+#~ "Real-time scheduling enabled in configuration but not allowed by policy."
+#~ msgstr "é…置中已å¯ç”¨å®žæ—¶è°ƒåº¦ï¼Œä½†ç­–略未å…许。"
+
+#~ msgid "Limited capabilities successfully to CAP_SYS_NICE."
+#~ msgstr "性能æˆåŠŸé™åˆ¶åˆ°CAP_SYS_NICE。"
+
+#~ msgid "time_new() failed.\n"
+#~ msgstr "time_new()失败。\n"
+
#~ msgid "Analog Mono"
#~ msgstr "模拟å•å£°é“"
diff --git a/src/Makefile.am b/src/Makefile.am
index 8722f978..a46c5a1b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -32,6 +32,7 @@ xdgautostartdir=$(sysconfdir)/xdg/autostart
alsaprofilesetsdir=$(datadir)/pulseaudio/alsa-mixer/profile-sets
alsapathsdir=$(datadir)/pulseaudio/alsa-mixer/paths
udevrulesdir=/lib/udev/rules.d
+dbuspolicydir=$(sysconfdir)/dbus-1/system.d
###################################
# Defines #
@@ -87,7 +88,7 @@ AM_CFLAGS = \
AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)
AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
-AM_LDFLAGS = -Wl,-z,nodelete
+AM_LDFLAGS = $(NODELETE_LDFLAGS)
if STATIC_BINS
BINLDFLAGS = -static
@@ -119,6 +120,7 @@ EXTRA_DIST = \
modules/module-defs.h.m4 \
daemon/pulseaudio.desktop.in \
map-file \
+ daemon/pulseaudio-system.conf \
modules/alsa/mixer/profile-sets/default.conf \
modules/alsa/mixer/profile-sets/native-instruments-audio4dj.conf \
modules/alsa/mixer/profile-sets/native-instruments-audio8dj.conf \
@@ -145,6 +147,9 @@ pulseconf_DATA = \
daemon.conf \
client.conf
+dbuspolicy_DATA = \
+ daemon/pulseaudio-system.conf
+
if HAVE_X11
xdgautostart_in_files = \
daemon/pulseaudio.desktop.in
@@ -184,9 +189,9 @@ PREOPEN_LIBS = $(modlibexec_LTLIBRARIES)
endif
if FORCE_PREOPEN
-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f))
+pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f))
else
-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f))
+pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f))
endif
###################################
@@ -777,7 +782,7 @@ libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version
# OSS emulation #
###################################
-if HAVE_OSS
+if HAVE_OSS_WRAPPER
lib_LTLIBRARIES += libpulsedsp.la
bin_SCRIPTS += utils/padsp
endif
@@ -869,6 +874,9 @@ libpulsecore_@PA_MAJORMINORMICRO@_la_CFLAGS += $(TDB_CFLAGS)
libpulsecore_@PA_MAJORMINORMICRO@_la_LIBADD += $(TDB_LIBS)
endif
+if HAVE_SIMPLEDB
+libpulsecore_@PA_MAJORMINORMICRO@_la_SOURCES += pulsecore/database-simple.c
+endif
# We split the foreign code off to not be annoyed by warnings we don't care about
noinst_LTLIBRARIES = libpulsecore-foreign.la
@@ -1035,7 +1043,7 @@ modlibexec_LTLIBRARIES += \
module-x11-cork-request.la
endif
-if HAVE_OSS
+if HAVE_OSS_OUTPUT
modlibexec_LTLIBRARIES += \
liboss-util.la \
module-oss.la
@@ -1055,8 +1063,10 @@ alsaprofilesets_DATA = \
modules/alsa/mixer/profile-sets/native-instruments-audio4dj.conf \
modules/alsa/mixer/profile-sets/native-instruments-audio8dj.conf
+if HAVE_UDEV
udevrules_DATA = \
modules/alsa/mixer/profile-sets/90-pulseaudio.rules
+endif
alsapaths_DATA = \
modules/alsa/mixer/paths/analog-input-aux.conf \
@@ -1122,6 +1132,11 @@ modlibexec_LTLIBRARIES += \
module-hal-detect.la
endif
+if HAVE_HAL_COMPAT
+modlibexec_LTLIBRARIES += \
+ module-hal-detect.la
+endif
+
if HAVE_UDEV
modlibexec_LTLIBRARIES += \
module-udev-detect.la
@@ -1250,7 +1265,7 @@ module_simple_protocol_unix_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR
module_cli_la_SOURCES = modules/module-cli.c
module_cli_la_LDFLAGS = $(MODULE_LDFLAGS)
-module_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libcli.la libpulsecommon-@PA_MAJORMINORMICRO@.la
+module_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libcli.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la
module_cli_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
module_cli_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
@@ -1603,10 +1618,16 @@ module_jack_source_la_LDFLAGS = $(MODULE_LDFLAGS)
module_jack_source_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la $(JACK_LIBS) libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la
module_jack_source_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS)
+if HAVE_HAL_COMPAT
+module_hal_detect_la_SOURCES = modules/module-hal-detect-compat.c
+module_hal_detect_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la
+module_hal_detect_la_CFLAGS = $(AM_CFLAGS)
+else
module_hal_detect_la_SOURCES = modules/module-hal-detect.c
-module_hal_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
module_hal_detect_la_LIBADD = $(AM_LIBADD) $(HAL_LIBS) libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la
module_hal_detect_la_CFLAGS = $(AM_CFLAGS) $(HAL_CFLAGS)
+endif
+module_hal_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
module_udev_detect_la_SOURCES = modules/module-udev-detect.c
module_udev_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
diff --git a/src/daemon/caps.c b/src/daemon/caps.c
index 294be494..76b62e03 100644
--- a/src/daemon/caps.c
+++ b/src/daemon/caps.c
@@ -57,24 +57,29 @@ void pa_drop_root(void) {
#ifdef HAVE_GETUID
uid_t uid;
+ gid_t gid;
+ pa_log_debug(_("Cleaning up privileges."));
uid = getuid();
- if (uid == 0 || geteuid() != 0)
- return;
-
- pa_log_info(_("Dropping root privileges."));
+ gid = getgid();
#if defined(HAVE_SETRESUID)
pa_assert_se(setresuid(uid, uid, uid) >= 0);
+ pa_assert_se(setresgid(gid, gid, gid) >= 0);
#elif defined(HAVE_SETREUID)
pa_assert_se(setreuid(uid, uid) >= 0);
+ pa_assert_se(setregid(gid, gid) >= 0);
#else
pa_assert_se(setuid(uid) >= 0);
pa_assert_se(seteuid(uid) >= 0);
+ pa_assert_se(setgid(gid) >= 0);
+ pa_assert_se(setegid(gid) >= 0);
#endif
pa_assert_se(getuid() == uid);
pa_assert_se(geteuid() == uid);
+ pa_assert_se(getgid() == gid);
+ pa_assert_se(getegid() == gid);
#endif
#ifdef HAVE_SYS_PRCTL_H
@@ -82,7 +87,7 @@ void pa_drop_root(void) {
#endif
#ifdef HAVE_SYS_CAPABILITY_H
- {
+ if (uid != 0) {
cap_t caps;
pa_assert_se(caps = cap_init());
pa_assert_se(cap_clear(caps) == 0);
diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c
index ace460ed..31f29009 100644
--- a/src/daemon/daemon-conf.c
+++ b/src/daemon/daemon-conf.c
@@ -476,14 +476,18 @@ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {
{ "high-priority", pa_config_parse_bool, &c->high_priority, NULL },
{ "realtime-scheduling", pa_config_parse_bool, &c->realtime_scheduling, NULL },
{ "disallow-module-loading", pa_config_parse_bool, &c->disallow_module_loading, NULL },
+ { "allow-module-loading", pa_config_parse_not_bool, &c->disallow_module_loading, NULL },
{ "disallow-exit", pa_config_parse_bool, &c->disallow_exit, NULL },
+ { "allow-exit", pa_config_parse_not_bool, &c->disallow_exit, NULL },
{ "use-pid-file", pa_config_parse_bool, &c->use_pid_file, NULL },
{ "system-instance", pa_config_parse_bool, &c->system_instance, NULL },
#ifdef HAVE_DBUS
{ "local-server-type", parse_server_type, c, NULL },
#endif
{ "no-cpu-limit", pa_config_parse_bool, &c->no_cpu_limit, NULL },
+ { "cpu-limit", pa_config_parse_not_bool, &c->no_cpu_limit, NULL },
{ "disable-shm", pa_config_parse_bool, &c->disable_shm, NULL },
+ { "enable-shm", pa_config_parse_not_bool, &c->disable_shm, NULL },
{ "flat-volumes", pa_config_parse_bool, &c->flat_volumes, NULL },
{ "lock-memory", pa_config_parse_bool, &c->lock_memory, NULL },
{ "exit-idle-time", pa_config_parse_int, &c->exit_idle_time, NULL },
@@ -503,7 +507,9 @@ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {
{ "default-fragment-size-msec", parse_fragment_size_msec, c, NULL },
{ "nice-level", parse_nice_level, c, NULL },
{ "disable-remixing", pa_config_parse_bool, &c->disable_remixing, NULL },
+ { "enable-remixing", pa_config_parse_not_bool, &c->disable_remixing, NULL },
{ "disable-lfe-remixing", pa_config_parse_bool, &c->disable_lfe_remixing, NULL },
+ { "enable-lfe-remixing", pa_config_parse_not_bool, &c->disable_lfe_remixing, NULL },
{ "load-default-script-file", pa_config_parse_bool, &c->load_default_script_file, NULL },
{ "shm-size-bytes", pa_config_parse_size, &c->shm_size, NULL },
{ "log-meta", pa_config_parse_bool, &c->log_meta, NULL },
@@ -669,15 +675,15 @@ char *pa_daemon_conf_dump(pa_daemon_conf *c) {
pa_strbuf_printf(s, "nice-level = %i\n", c->nice_level);
pa_strbuf_printf(s, "realtime-scheduling = %s\n", pa_yes_no(c->realtime_scheduling));
pa_strbuf_printf(s, "realtime-priority = %i\n", c->realtime_priority);
- pa_strbuf_printf(s, "disallow-module-loading = %s\n", pa_yes_no(c->disallow_module_loading));
- pa_strbuf_printf(s, "disallow-exit = %s\n", pa_yes_no(c->disallow_exit));
+ pa_strbuf_printf(s, "allow-module-loading = %s\n", pa_yes_no(!c->disallow_module_loading));
+ pa_strbuf_printf(s, "allow-exit = %s\n", pa_yes_no(!c->disallow_exit));
pa_strbuf_printf(s, "use-pid-file = %s\n", pa_yes_no(c->use_pid_file));
pa_strbuf_printf(s, "system-instance = %s\n", pa_yes_no(c->system_instance));
#ifdef HAVE_DBUS
pa_strbuf_printf(s, "local-server-type = %s\n", server_type_to_string[c->local_server_type]);
#endif
- pa_strbuf_printf(s, "no-cpu-limit = %s\n", pa_yes_no(c->no_cpu_limit));
- pa_strbuf_printf(s, "disable-shm = %s\n", pa_yes_no(c->disable_shm));
+ pa_strbuf_printf(s, "cpu-limit = %s\n", pa_yes_no(!c->no_cpu_limit));
+ pa_strbuf_printf(s, "enable-shm = %s\n", pa_yes_no(!c->disable_shm));
pa_strbuf_printf(s, "flat-volumes = %s\n", pa_yes_no(c->flat_volumes));
pa_strbuf_printf(s, "lock-memory = %s\n", pa_yes_no(c->lock_memory));
pa_strbuf_printf(s, "exit-idle-time = %i\n", c->exit_idle_time);
@@ -688,8 +694,8 @@ char *pa_daemon_conf_dump(pa_daemon_conf *c) {
pa_strbuf_printf(s, "log-target = %s\n", c->auto_log_target ? "auto" : (c->log_target == PA_LOG_SYSLOG ? "syslog" : "stderr"));
pa_strbuf_printf(s, "log-level = %s\n", log_level_to_string[c->log_level]);
pa_strbuf_printf(s, "resample-method = %s\n", pa_resample_method_to_string(c->resample_method));
- pa_strbuf_printf(s, "disable-remixing = %s\n", pa_yes_no(c->disable_remixing));
- pa_strbuf_printf(s, "disable-lfe-remixing = %s\n", pa_yes_no(c->disable_lfe_remixing));
+ pa_strbuf_printf(s, "enable-remixing = %s\n", pa_yes_no(!c->disable_remixing));
+ pa_strbuf_printf(s, "enable-lfe-remixing = %s\n", pa_yes_no(!c->disable_lfe_remixing));
pa_strbuf_printf(s, "default-sample-format = %s\n", pa_sample_format_to_string(c->default_sample_spec.format));
pa_strbuf_printf(s, "default-sample-rate = %u\n", c->default_sample_spec.rate);
pa_strbuf_printf(s, "default-sample-channels = %u\n", c->default_sample_spec.channels);
diff --git a/src/daemon/daemon.conf.in b/src/daemon/daemon.conf.in
index 9bea6148..a11fd06c 100644
--- a/src/daemon/daemon.conf.in
+++ b/src/daemon/daemon.conf.in
@@ -21,15 +21,15 @@
; daemonize = no
; fail = yes
-; disallow-module-loading = no
-; disallow-exit = no
+; allow-module-loading = yes
+; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
-; disable-shm = no
+; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
-; no-cpu-limit = no
+; cpu-limit = yes
; high-priority = yes
; nice-level = -11
@@ -52,8 +52,8 @@
; log-backtrace = 0
; resample-method = speex-float-3
-; disable-remixing = no
-; disable-lfe-remixing = yes
+; enable-remixing = yes
+; enable-lfe-remixing = no
; flat-volumes = yes
diff --git a/src/daemon/main.c b/src/daemon/main.c
index f4209859..73696005 100644
--- a/src/daemon/main.c
+++ b/src/daemon/main.c
@@ -110,7 +110,7 @@ int allow_severity = LOG_INFO;
int deny_severity = LOG_WARNING;
#endif
-#ifdef HAVE_OSS
+#ifdef HAVE_OSS_WRAPPER
/* padsp looks for this symbol in the running process and disables
* itself if it finds it and it is set to 7 (which is actually a bit
* mask). For details see padsp. */
@@ -407,7 +407,8 @@ int main(int argc, char *argv[]) {
/*
Disable lazy relocations to make usage of external libraries
more deterministic for our RT threads. We abuse __OPTIMIZE__ as
- a check whether we are a debug build or not.
+ a check whether we are a debug build or not. This all is
+ admittedly a bit snake-oilish.
*/
if (!getenv("LD_BIND_NOW")) {
@@ -418,9 +419,16 @@ int main(int argc, char *argv[]) {
pa_set_env("LD_BIND_NOW", "1");
- if ((rp = pa_readlink("/proc/self/exe")))
- pa_assert_se(execv(rp, argv) == 0);
- else
+ if ((rp = pa_readlink("/proc/self/exe"))) {
+
+ if (pa_streq(rp, PA_BINARY))
+ pa_assert_se(execv(rp, argv) == 0);
+ else
+ pa_log_warn("/proc/self/exe does not point to " PA_BINARY ", cannot self execute. Are you playing games?");
+
+ pa_xfree(rp);
+
+ } else
pa_log_warn("Couldn't read /proc/self/exe, cannot self execute. Running in a chroot()?");
}
#endif
@@ -435,10 +443,13 @@ int main(int argc, char *argv[]) {
/* We might be autospawned, in which case have no idea in which
* context we have been started. Let's cleanup our execution
* context as good as possible */
+
+ pa_reset_personality();
pa_drop_root();
pa_close_all(passed_fd, -1);
pa_reset_sigs(-1);
pa_unblock_sigs(-1);
+ pa_reset_priority();
setlocale(LC_ALL, "");
pa_init_i18n();
diff --git a/src/daemon/pulseaudio-system.conf b/src/daemon/pulseaudio-system.conf
new file mode 100644
index 00000000..edddaf93
--- /dev/null
+++ b/src/daemon/pulseaudio-system.conf
@@ -0,0 +1,37 @@
+<?xml version="1.0"?><!--*-nxml-*-->
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+
+<!--
+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, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA.
+-->
+
+<busconfig>
+
+ <!-- System-wide PulseAudio runs as 'pulse' user. This fragment is
+ not necessary for user PulseAudio instances. -->
+
+ <policy user="pulse">
+ <allow own="org.pulseaudio.Server"/>
+
+ <!-- Allow pulseaudio to talk to HAL for device detection -->
+ <allow send_destination="org.freedesktop.Hal" send_interface="org.freedesktop.Hal.Manager"/>
+ <allow send_destination="org.freedesktop.Hal" send_interface="org.freedesktop.Hal.Device"/>
+ </policy>
+
+</busconfig>
diff --git a/src/map-file b/src/map-file
index 3db3a2d7..dafef48f 100644
--- a/src/map-file
+++ b/src/map-file
@@ -220,6 +220,8 @@ pa_simple_get_latency;
pa_simple_new;
pa_simple_read;
pa_simple_write;
+pa_stream_begin_write;
+pa_stream_cancel_write;
pa_stream_connect_playback;
pa_stream_connect_record;
pa_stream_connect_upload;
diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
index a5515e1b..a4c2ee0f 100644
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -940,7 +940,6 @@ int pa_alsa_path_select(pa_alsa_path *p, snd_mixer_t *m) {
PA_LLIST_FOREACH(e, p->elements) {
switch (e->switch_use) {
- case PA_ALSA_SWITCH_MUTE:
case PA_ALSA_SWITCH_OFF:
r = element_set_switch(e, m, FALSE);
break;
@@ -949,6 +948,7 @@ int pa_alsa_path_select(pa_alsa_path *p, snd_mixer_t *m) {
r = element_set_switch(e, m, TRUE);
break;
+ case PA_ALSA_SWITCH_MUTE:
case PA_ALSA_SWITCH_IGNORE:
case PA_ALSA_SWITCH_SELECT:
r = 0;
@@ -960,7 +960,6 @@ int pa_alsa_path_select(pa_alsa_path *p, snd_mixer_t *m) {
switch (e->volume_use) {
case PA_ALSA_VOLUME_OFF:
- case PA_ALSA_VOLUME_MERGE:
r = element_mute_volume(e, m);
break;
@@ -968,6 +967,7 @@ int pa_alsa_path_select(pa_alsa_path *p, snd_mixer_t *m) {
r = element_zero_volume(e, m);
break;
+ case PA_ALSA_VOLUME_MERGE:
case PA_ALSA_VOLUME_IGNORE:
r = 0;
break;
@@ -2838,9 +2838,9 @@ static int mapping_verify(pa_alsa_mapping *m, const pa_channel_map *bonus) {
if (bonus) {
if (pa_channel_map_equal(&m->channel_map, bonus))
- m->priority += 5000;
+ m->priority += 50;
else if (m->channel_map.channels == bonus->channels)
- m->priority += 4000;
+ m->priority += 30;
}
return 0;
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index c584362d..a91b4b8a 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -169,10 +169,10 @@ static int reserve_init(struct userdata *u, const char *dname) {
if (pa_in_system_mode())
return 0;
- /* We are resuming, try to lock the device */
if (!(rname = pa_alsa_get_reserve_name(dname)))
return 0;
+ /* We are resuming, try to lock the device */
u->reserve = pa_reserve_wrapper_get(u->core, rname);
pa_xfree(rname);
@@ -222,7 +222,6 @@ static int reserve_monitor_init(struct userdata *u, const char *dname) {
if (pa_in_system_mode())
return 0;
- /* We are resuming, try to lock the device */
if (!(rname = pa_alsa_get_reserve_name(dname)))
return 0;
@@ -341,6 +340,9 @@ static int try_recover(struct userdata *u, const char *call, int err) {
if (err == -EPIPE)
pa_log_debug("%s: Buffer underrun!", call);
+ if (err == -ESTRPIPE)
+ pa_log_debug("%s: System suspended!", call);
+
if ((err = snd_pcm_recover(u->pcm_handle, err, 1)) < 0) {
pa_log("%s: %s", call, pa_alsa_strerror(err));
return -1;
@@ -402,6 +404,7 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle
snd_pcm_sframes_t n;
size_t n_bytes;
int r;
+ pa_bool_t after_avail = TRUE;
/* First we determine how many samples are missing to fill the
* buffer up to 100% */
@@ -485,6 +488,9 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle
if (PA_UNLIKELY((err = pa_alsa_safe_mmap_begin(u->pcm_handle, &areas, &offset, &frames, u->hwbuf_size, &u->sink->sample_spec)) < 0)) {
+ if (!after_avail && err == -EAGAIN)
+ break;
+
if ((r = try_recover(u, "snd_pcm_mmap_begin", err)) == 0)
continue;
@@ -495,6 +501,12 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle
if (frames > pa_mempool_block_size_max(u->sink->core->mempool)/u->frame_size)
frames = pa_mempool_block_size_max(u->sink->core->mempool)/u->frame_size;
+ if (!after_avail && frames == 0)
+ break;
+
+ pa_assert(frames > 0);
+ after_avail = FALSE;
+
/* Check these are multiples of 8 bit */
pa_assert((areas[0].first & 7) == 0);
pa_assert((areas[0].step & 7)== 0);
@@ -615,6 +627,7 @@ static int unix_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle
for (;;) {
snd_pcm_sframes_t frames;
void *p;
+ pa_bool_t after_avail = TRUE;
/* pa_log_debug("%lu frames to write", (unsigned long) frames); */
@@ -632,16 +645,23 @@ static int unix_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle
frames = snd_pcm_writei(u->pcm_handle, (const uint8_t*) p + u->memchunk.index, (snd_pcm_uframes_t) frames);
pa_memblock_release(u->memchunk.memblock);
- pa_assert(frames != 0);
-
if (PA_UNLIKELY(frames < 0)) {
+ if (!after_avail && (int) frames == -EAGAIN)
+ break;
+
if ((r = try_recover(u, "snd_pcm_writei", (int) frames)) == 0)
continue;
return r;
}
+ if (!after_avail && frames == 0)
+ break;
+
+ pa_assert(frames > 0);
+ after_avail = FALSE;
+
u->memchunk.index += (size_t) frames * u->frame_size;
u->memchunk.length -= (size_t) frames * u->frame_size;
@@ -882,9 +902,13 @@ static int unsuspend(struct userdata *u) {
if (build_pollfd(u) < 0)
goto fail;
+ u->write_count = 0;
+ pa_smoother_reset(u->smoother, pa_rtclock_now(), TRUE);
+
u->first = TRUE;
u->since_start = 0;
+
pa_log_info("Resumed successfully...");
return 0;
@@ -1178,8 +1202,11 @@ static int process_rewind(struct userdata *u) {
pa_log_debug("before: %lu", (unsigned long) in_frames);
if ((out_frames = snd_pcm_rewind(u->pcm_handle, (snd_pcm_uframes_t) in_frames)) < 0) {
pa_log("snd_pcm_rewind() failed: %s", pa_alsa_strerror((int) out_frames));
- return -1;
+ if (try_recover(u, "process_rewind", out_frames) < 0)
+ return -1;
+ out_frames = 0;
}
+
pa_log_debug("after: %lu", (unsigned long) out_frames);
rewind_nbytes = (size_t) out_frames * u->frame_size;
@@ -1187,7 +1214,7 @@ static int process_rewind(struct userdata *u) {
if (rewind_nbytes <= 0)
pa_log_info("Tried rewind, but was apparently not possible.");
else {
- u->write_count -= out_frames * u->frame_size;
+ u->write_count -= rewind_nbytes;
pa_log_debug("Rewound %lu bytes.", (unsigned long) rewind_nbytes);
pa_sink_process_rewind(u->sink, rewind_nbytes);
@@ -1265,7 +1292,8 @@ static void thread_func(void *userdata) {
* we have filled the buffer at least once
* completely.*/
- pa_log_debug("Cutting sleep time for the initial iterations by half.");
+ if (pa_log_ratelimit())
+ pa_log_debug("Cutting sleep time for the initial iterations by half.");
sleep_usec /= 2;
}
diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
index a6760e1e..9a51f857 100644
--- a/src/modules/alsa/alsa-source.c
+++ b/src/modules/alsa/alsa-source.c
@@ -333,6 +333,9 @@ static int try_recover(struct userdata *u, const char *call, int err) {
if (err == -EPIPE)
pa_log_debug("%s: Buffer overrun!", call);
+ if (err == -ESTRPIPE)
+ pa_log_debug("%s: System suspended!", call);
+
if ((err = snd_pcm_recover(u->pcm_handle, err, 1)) < 0) {
pa_log("%s: %s", call, pa_alsa_strerror(err));
return -1;
@@ -391,6 +394,7 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled
snd_pcm_sframes_t n;
size_t n_bytes;
int r;
+ pa_bool_t after_avail = TRUE;
if (PA_UNLIKELY((n = pa_alsa_safe_avail(u->pcm_handle, u->hwbuf_size, &u->source->sample_spec)) < 0)) {
@@ -463,6 +467,9 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled
if (PA_UNLIKELY((err = pa_alsa_safe_mmap_begin(u->pcm_handle, &areas, &offset, &frames, u->hwbuf_size, &u->source->sample_spec)) < 0)) {
+ if (!after_avail && err == -EAGAIN)
+ break;
+
if ((r = try_recover(u, "snd_pcm_mmap_begin", err)) == 0)
continue;
@@ -473,6 +480,12 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled
if (frames > pa_mempool_block_size_max(u->source->core->mempool)/u->frame_size)
frames = pa_mempool_block_size_max(u->source->core->mempool)/u->frame_size;
+ if (!after_avail && frames == 0)
+ break;
+
+ pa_assert(frames > 0);
+ after_avail = FALSE;
+
/* Check these are multiples of 8 bit */
pa_assert((areas[0].first & 7) == 0);
pa_assert((areas[0].step & 7)== 0);
@@ -539,6 +552,7 @@ static int unix_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled
snd_pcm_sframes_t n;
size_t n_bytes;
int r;
+ pa_bool_t after_avail = TRUE;
if (PA_UNLIKELY((n = pa_alsa_safe_avail(u->pcm_handle, u->hwbuf_size, &u->source->sample_spec)) < 0)) {
@@ -599,17 +613,26 @@ static int unix_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled
frames = snd_pcm_readi(u->pcm_handle, (uint8_t*) p, (snd_pcm_uframes_t) frames);
pa_memblock_release(chunk.memblock);
- pa_assert(frames != 0);
-
if (PA_UNLIKELY(frames < 0)) {
pa_memblock_unref(chunk.memblock);
- if ((r = try_recover(u, "snd_pcm_readi", (int) (frames))) == 0)
+ if (!after_avail && (int) frames == -EAGAIN)
+ break;
+
+ if ((r = try_recover(u, "snd_pcm_readi", (int) frames)) == 0)
continue;
return r;
}
+ if (!after_avail && frames == 0) {
+ pa_memblock_unref(chunk.memblock);
+ break;
+ }
+
+ pa_assert(frames > 0);
+ after_avail = FALSE;
+
chunk.index = 0;
chunk.length = (size_t) frames * u->frame_size;
@@ -834,7 +857,9 @@ static int unsuspend(struct userdata *u) {
/* FIXME: We need to reload the volume somehow */
snd_pcm_start(u->pcm_handle);
- pa_smoother_resume(u->smoother, pa_rtclock_now(), TRUE);
+
+ u->read_count = 0;
+ pa_smoother_reset(u->smoother, pa_rtclock_now(), TRUE);
pa_log_info("Resumed successfully...");
diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
index 1f3e5dcd..a47a8958 100644
--- a/src/modules/alsa/alsa-util.c
+++ b/src/modules/alsa/alsa-util.c
@@ -233,14 +233,16 @@ int pa_alsa_set_hw_params(
goto finish;
}
- if (_period_size && tsched_size && _periods) {
+ if (_period_size > 0 && tsched_size > 0 && _periods > 0) {
+ snd_pcm_uframes_t buffer_size;
+ unsigned int p;
/* Adjust the buffer sizes, if we didn't get the rate we were asking for */
_period_size = (snd_pcm_uframes_t) (((uint64_t) _period_size * r) / ss->rate);
tsched_size = (snd_pcm_uframes_t) (((uint64_t) tsched_size * r) / ss->rate);
if (_use_tsched) {
- snd_pcm_uframes_t buffer_size = 0;
+ buffer_size = 0;
if ((ret = snd_pcm_hw_params_get_buffer_size_max(hwparams, &buffer_size)) < 0)
pa_log_warn("snd_pcm_hw_params_get_buffer_size_max() failed: %s", pa_alsa_strerror(ret));
@@ -251,32 +253,33 @@ int pa_alsa_set_hw_params(
_periods = 1;
}
- if (_period_size > 0 && _periods > 0) {
- snd_pcm_uframes_t buffer_size;
-
- buffer_size = _periods * _period_size;
-
- if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0)
- pa_log_info("snd_pcm_hw_params_set_buffer_size_near() failed: %s", pa_alsa_strerror(ret));
- }
-
- if (_periods > 0) {
-
- /* First we pass 0 as direction to get exactly what we
- * asked for. That this is necessary is presumably a bug
- * in ALSA. All in all this is mostly a hint to ALSA, so
- * we don't care if this fails. */
-
- dir = 0;
- if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) {
- dir = 1;
- if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) {
- dir = -1;
- if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0)
- pa_log_info("snd_pcm_hw_params_set_periods_near() failed: %s", pa_alsa_strerror(ret));
- }
+ /* Some ALSA drivers really don't like if we set the buffer
+ * size first and the number of periods second. (which would
+ * make a lot more sense to me) So, follow this rule and
+ * adjust the periods first and the buffer size second */
+
+ /* First we pass 0 as direction to get exactly what we
+ * asked for. That this is necessary is presumably a bug
+ * in ALSA. All in all this is mostly a hint to ALSA, so
+ * we don't care if this fails. */
+
+ p = _periods;
+ dir = 0;
+ if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &p, &dir) < 0) {
+ p = _periods;
+ dir = 1;
+ if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &p, &dir) < 0) {
+ p = _periods;
+ dir = -1;
+ if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &p, &dir)) < 0)
+ pa_log_info("snd_pcm_hw_params_set_periods_near() failed: %s", pa_alsa_strerror(ret));
}
}
+
+ /* Now set the buffer size */
+ buffer_size = _periods * _period_size;
+ if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0)
+ pa_log_info("snd_pcm_hw_params_set_buffer_size_near() failed: %s", pa_alsa_strerror(ret));
}
if ((ret = snd_pcm_hw_params(pcm_handle, hwparams)) < 0)
diff --git a/src/modules/alsa/mixer/Makefile b/src/modules/alsa/mixer/Makefile
new file mode 120000
index 00000000..b4955194
--- /dev/null
+++ b/src/modules/alsa/mixer/Makefile
@@ -0,0 +1 @@
+../../../pulse/Makefile \ No newline at end of file
diff --git a/src/modules/alsa/mixer/paths/Makefile b/src/modules/alsa/mixer/paths/Makefile
new file mode 120000
index 00000000..dc23aaa2
--- /dev/null
+++ b/src/modules/alsa/mixer/paths/Makefile
@@ -0,0 +1 @@
+../../../../pulse/Makefile \ No newline at end of file
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
index c018e0eb..691cb3f2 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
@@ -44,6 +44,10 @@ volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
+[Element Speaker]
+switch = off
+volume = off
+
[Element Front]
switch = off
volume = off
diff --git a/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf b/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
index 7a267890..2db976a5 100644
--- a/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf
@@ -45,6 +45,12 @@ override-map.2 = lfe,lfe
switch = off
volume = off
+[Element Speaker]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Front]
switch = off
volume = off
diff --git a/src/modules/alsa/mixer/paths/analog-output-mono.conf b/src/modules/alsa/mixer/paths/analog-output-mono.conf
index f6cb9f8a..a58cc970 100644
--- a/src/modules/alsa/mixer/paths/analog-output-mono.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-mono.conf
@@ -42,6 +42,12 @@ override-map.2 = all-left,all-right
switch = off
volume = off
+[Element Speaker]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Front]
switch = off
volume = off
diff --git a/src/modules/alsa/mixer/paths/analog-output.conf b/src/modules/alsa/mixer/paths/analog-output.conf
index ea108aaf..b412a437 100644
--- a/src/modules/alsa/mixer/paths/analog-output.conf
+++ b/src/modules/alsa/mixer/paths/analog-output.conf
@@ -41,6 +41,12 @@ volume = off
switch = off
volume = off
+[Element Speaker]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
[Element Front]
switch = mute
volume = merge
diff --git a/src/modules/alsa/mixer/paths/analog-output.conf.common b/src/modules/alsa/mixer/paths/analog-output.conf.common
index cc1185f4..3c6ce803 100644
--- a/src/modules/alsa/mixer/paths/analog-output.conf.common
+++ b/src/modules/alsa/mixer/paths/analog-output.conf.common
@@ -104,8 +104,8 @@ switch = select
[Option External Amplifier:on]
name = output-amplifier-on
-priority = 0
+priority = 10
[Option External Amplifier:off]
name = output-amplifier-off
-priority = 10
+priority = 0
diff --git a/src/modules/alsa/mixer/profile-sets/Makefile b/src/modules/alsa/mixer/profile-sets/Makefile
new file mode 120000
index 00000000..dc23aaa2
--- /dev/null
+++ b/src/modules/alsa/mixer/profile-sets/Makefile
@@ -0,0 +1 @@
+../../../../pulse/Makefile \ No newline at end of file
diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c
index 5c7681d4..16c29248 100644
--- a/src/modules/bluetooth/bluetooth-util.c
+++ b/src/modules/bluetooth/bluetooth-util.c
@@ -122,9 +122,9 @@ static pa_bool_t device_is_audio(pa_bluetooth_device *d) {
return
d->device_info_valid &&
- (d->audio_state != PA_BT_AUDIO_STATE_INVALID ||
- d->audio_sink_state != PA_BT_AUDIO_STATE_INVALID ||
- d->headset_state != PA_BT_AUDIO_STATE_INVALID);
+ (d->audio_state != PA_BT_AUDIO_STATE_INVALID &&
+ (d->audio_sink_state != PA_BT_AUDIO_STATE_INVALID ||
+ d->headset_state != PA_BT_AUDIO_STATE_INVALID));
}
static int parse_device_property(pa_bluetooth_discovery *y, pa_bluetooth_device *d, DBusMessageIter *i) {
@@ -226,10 +226,6 @@ static int parse_device_property(pa_bluetooth_discovery *y, pa_bluetooth_device
node = uuid_new(value);
PA_LLIST_PREPEND(pa_bluetooth_uuid, d->uuids, node);
- /* this might eventually be racy if .Audio is not there yet, but the State change will come anyway later, so this call is for cold-detection mostly */
- pa_assert_se(m = dbus_message_new_method_call("org.bluez", d->path, "org.bluez.Audio", "GetProperties"));
- send_and_add_to_pending(y, d, m, get_properties_reply);
-
/* Vudentz said the interfaces are here when the UUIDs are announced */
if (strcasecmp(HSP_HS_UUID, value) == 0 || strcasecmp(HFP_HS_UUID, value) == 0) {
pa_assert_se(m = dbus_message_new_method_call("org.bluez", d->path, "org.bluez.Headset", "GetProperties"));
@@ -239,6 +235,10 @@ static int parse_device_property(pa_bluetooth_discovery *y, pa_bluetooth_device
send_and_add_to_pending(y, d, m, get_properties_reply);
}
+ /* this might eventually be racy if .Audio is not there yet, but the State change will come anyway later, so this call is for cold-detection mostly */
+ pa_assert_se(m = dbus_message_new_method_call("org.bluez", d->path, "org.bluez.Audio", "GetProperties"));
+ send_and_add_to_pending(y, d, m, get_properties_reply);
+
if (!dbus_message_iter_next(&ai))
break;
}
@@ -309,6 +309,17 @@ static void run_callback(pa_bluetooth_discovery *y, pa_bluetooth_device *d, pa_b
pa_hook_fire(&y->hook, d);
}
+static void remove_all_devices(pa_bluetooth_discovery *y) {
+ pa_bluetooth_device *d;
+
+ pa_assert(y);
+
+ while ((d = pa_hashmap_steal_first(y->devices))) {
+ run_callback(y, d, TRUE);
+ device_free(d);
+ }
+}
+
static void get_properties_reply(DBusPendingCall *pending, void *userdata) {
DBusMessage *r;
DBusMessageIter arg_i, element_i;
@@ -332,6 +343,12 @@ static void get_properties_reply(DBusPendingCall *pending, void *userdata) {
if (dbus_message_is_method_call(p->message, "org.bluez.Device", "GetProperties"))
d->device_info_valid = valid;
+ if (dbus_message_is_error(r, DBUS_ERROR_SERVICE_UNKNOWN)) {
+ pa_log_debug("Bluetooth daemon is apparently not available.");
+ remove_all_devices(y);
+ goto finish2;
+ }
+
if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) {
if (!dbus_message_is_error(r, DBUS_ERROR_UNKNOWN_METHOD))
@@ -383,6 +400,7 @@ static void get_properties_reply(DBusPendingCall *pending, void *userdata) {
finish:
run_callback(y, d, FALSE);
+finish2:
dbus_message_unref(r);
PA_LLIST_REMOVE(pa_dbus_pending, y->pending, p);
@@ -412,6 +430,9 @@ static void found_device(pa_bluetooth_discovery *y, const char* path) {
pa_assert(y);
pa_assert(path);
+ if (pa_hashmap_get(y->devices, path))
+ return;
+
d = device_new(path);
pa_hashmap_put(y->devices, d->path, d);
@@ -439,9 +460,15 @@ static void list_devices_reply(DBusPendingCall *pending, void *userdata) {
pa_assert_se(y = p->context_data);
pa_assert_se(r = dbus_pending_call_steal_reply(pending));
+ if (dbus_message_is_error(r, DBUS_ERROR_SERVICE_UNKNOWN)) {
+ pa_log_debug("Bluetooth daemon is apparently not available.");
+ remove_all_devices(y);
+ goto finish;
+ }
+
if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) {
pa_log("Error from ListDevices reply: %s", dbus_message_get_error_name(r));
- goto end;
+ goto finish;
}
if (!dbus_message_get_args(r, &e, DBUS_TYPE_ARRAY, DBUS_TYPE_OBJECT_PATH, &paths, &num, DBUS_TYPE_INVALID)) {
@@ -454,7 +481,7 @@ static void list_devices_reply(DBusPendingCall *pending, void *userdata) {
found_device(y, paths[i]);
}
-end:
+finish:
if (paths)
dbus_free_string_array (paths);
@@ -487,9 +514,15 @@ static void list_adapters_reply(DBusPendingCall *pending, void *userdata) {
pa_assert_se(y = p->context_data);
pa_assert_se(r = dbus_pending_call_steal_reply(pending));
+ if (dbus_message_is_error(r, DBUS_ERROR_SERVICE_UNKNOWN)) {
+ pa_log_debug("Bluetooth daemon is apparently not available.");
+ remove_all_devices(y);
+ goto finish;
+ }
+
if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) {
pa_log("Error from ListAdapters reply: %s", dbus_message_get_error_name(r));
- goto end;
+ goto finish;
}
if (!dbus_message_get_args(r, &e, DBUS_TYPE_ARRAY, DBUS_TYPE_OBJECT_PATH, &paths, &num, DBUS_TYPE_INVALID)) {
@@ -502,7 +535,7 @@ static void list_adapters_reply(DBusPendingCall *pending, void *userdata) {
found_adapter(y, paths[i]);
}
-end:
+finish:
if (paths)
dbus_free_string_array (paths);
@@ -616,6 +649,32 @@ static DBusHandlerResult filter_cb(DBusConnection *bus, DBusMessage *m, void *us
}
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
+ } else if (dbus_message_is_signal(m, "org.freedesktop.DBus", "NameOwnerChanged")) {
+ const char *name, *old_owner, *new_owner;
+
+ if (!dbus_message_get_args(m, &err,
+ DBUS_TYPE_STRING, &name,
+ DBUS_TYPE_STRING, &old_owner,
+ DBUS_TYPE_STRING, &new_owner,
+ DBUS_TYPE_INVALID)) {
+ pa_log("Failed to parse org.freedesktop.DBus.NameOwnerChanged: %s", err.message);
+ goto fail;
+ }
+
+ if (pa_streq(name, "org.bluez")) {
+ if (old_owner && *old_owner) {
+ pa_log_debug("Bluetooth daemon disappeared.");
+ remove_all_devices(y);
+ }
+
+ if (new_owner && *new_owner) {
+ pa_log_debug("Bluetooth daemon appeared.");
+ list_adapters(y);
+ }
+ }
+
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
fail:
@@ -699,6 +758,7 @@ pa_bluetooth_discovery* pa_bluetooth_discovery_get(pa_core *c) {
if (pa_dbus_add_matches(
pa_dbus_connection_get(y->connection), &err,
+ "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged'",
"type='signal',sender='org.bluez',interface='org.bluez.Manager',member='AdapterAdded'",
"type='signal',sender='org.bluez',interface='org.bluez.Adapter',member='DeviceRemoved'",
"type='signal',sender='org.bluez',interface='org.bluez.Adapter',member='DeviceCreated'",
@@ -734,8 +794,6 @@ pa_bluetooth_discovery* pa_bluetooth_discovery_ref(pa_bluetooth_discovery *y) {
}
void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {
- pa_bluetooth_device *d;
-
pa_assert(y);
pa_assert(PA_REFCNT_VALUE(y) > 0);
@@ -745,16 +803,13 @@ void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {
pa_dbus_free_pending_list(&y->pending);
if (y->devices) {
- while ((d = pa_hashmap_steal_first(y->devices))) {
- run_callback(y, d, TRUE);
- device_free(d);
- }
-
+ remove_all_devices(y);
pa_hashmap_free(y->devices, NULL, NULL);
}
if (y->connection) {
pa_dbus_remove_matches(pa_dbus_connection_get(y->connection),
+ "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged'",
"type='signal',sender='org.bluez',interface='org.bluez.Manager',member='AdapterAdded'",
"type='signal',sender='org.bluez',interface='org.bluez.Manager',member='AdapterRemoved'",
"type='signal',sender='org.bluez',interface='org.bluez.Adapter',member='DeviceRemoved'",
diff --git a/src/modules/bluetooth/bluetooth-util.h b/src/modules/bluetooth/bluetooth-util.h
index 265caf40..f15f2170 100644
--- a/src/modules/bluetooth/bluetooth-util.h
+++ b/src/modules/bluetooth/bluetooth-util.h
@@ -59,8 +59,7 @@ typedef enum pa_bt_audio_state {
PA_BT_AUDIO_STATE_DISCONNECTED,
PA_BT_AUDIO_STATE_CONNECTING,
PA_BT_AUDIO_STATE_CONNECTED,
- PA_BT_AUDIO_STATE_PLAYING,
- PA_BT_AUDIO_STATE_LAST
+ PA_BT_AUDIO_STATE_PLAYING
} pa_bt_audio_state_t;
struct pa_bluetooth_device {
diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c
index e7c6d5e4..d6321fc4 100644
--- a/src/modules/bluetooth/module-bluetooth-device.c
+++ b/src/modules/bluetooth/module-bluetooth-device.c
@@ -881,7 +881,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
*((pa_usec_t*) data) = wi > ri ? wi - ri : 0;
}
- *((pa_usec_t*) data) += u->sink->fixed_latency;
+ *((pa_usec_t*) data) += u->sink->thread_info.fixed_latency;
return 0;
}
}
@@ -943,7 +943,7 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off
wi = pa_smoother_get(u->read_smoother, pa_rtclock_now());
ri = pa_bytes_to_usec(u->read_index, &u->sample_spec);
- *((pa_usec_t*) data) = (wi > ri ? wi - ri : 0) + u->source->fixed_latency;
+ *((pa_usec_t*) data) = (wi > ri ? wi - ri : 0) + u->source->thread_info.fixed_latency;
return 0;
}
@@ -1262,11 +1262,11 @@ static void thread_func(void *userdata) {
if (u->core->realtime_scheduling)
pa_make_realtime(u->core->realtime_priority);
+ pa_thread_mq_install(&u->thread_mq);
+
if (start_stream_fd(u) < 0)
goto fail;
- pa_thread_mq_install(&u->thread_mq);
-
for (;;) {
struct pollfd *pollfd;
int ret;
@@ -1319,18 +1319,21 @@ static void thread_func(void *userdata) {
if (u->write_index > 0 && audio_to_send > MAX_PLAYBACK_CATCH_UP_USEC) {
pa_usec_t skip_usec;
uint64_t skip_bytes;
- pa_memchunk tmp;
skip_usec = audio_to_send - MAX_PLAYBACK_CATCH_UP_USEC;
skip_bytes = pa_usec_to_bytes(skip_usec, &u->sample_spec);
- pa_log_warn("Skipping %llu us (= %llu bytes) in audio stream",
- (unsigned long long) skip_usec,
- (unsigned long long) skip_bytes);
+ if (skip_bytes > 0) {
+ pa_memchunk tmp;
+
+ pa_log_warn("Skipping %llu us (= %llu bytes) in audio stream",
+ (unsigned long long) skip_usec,
+ (unsigned long long) skip_bytes);
- pa_sink_render_full(u->sink, skip_bytes, &tmp);
- pa_memblock_unref(tmp.memblock);
- u->write_index += skip_bytes;
+ pa_sink_render_full(u->sink, skip_bytes, &tmp);
+ pa_memblock_unref(tmp.memblock);
+ u->write_index += skip_bytes;
+ }
}
do_write = 1;
@@ -1351,11 +1354,14 @@ static void thread_func(void *userdata) {
goto fail;
}
+ if (n_written == 0)
+ pa_log("Broken kernel: we got EAGAIN on write() after POLLOUT!");
+
do_write -= n_written;
writable = FALSE;
}
- if ((!u->source || !PA_SOURCE_IS_LINKED(u->source->thread_info.state)) && do_write <= 0) {
+ if ((!u->source || !PA_SOURCE_IS_LINKED(u->source->thread_info.state)) && do_write <= 0 && writable) {
pa_usec_t time_passed, next_write_at, sleep_for;
/* Hmm, there is no input stream we could synchronize
@@ -1443,12 +1449,12 @@ static DBusHandlerResult filter_cb(DBusConnection *bus, DBusMessage *m, void *us
if (u->sink && dbus_message_is_signal(m, "org.bluez.Headset", "SpeakerGainChanged")) {
pa_cvolume_set(&v, u->sample_spec.channels, (pa_volume_t) (gain * PA_VOLUME_NORM / 15));
- pa_sink_volume_changed(u->sink, &v, TRUE);
+ pa_sink_volume_changed(u->sink, &v);
} else if (u->source && dbus_message_is_signal(m, "org.bluez.Headset", "MicrophoneGainChanged")) {
pa_cvolume_set(&v, u->sample_spec.channels, (pa_volume_t) (gain * PA_VOLUME_NORM / 15));
- pa_source_volume_changed(u->source, &v, TRUE);
+ pa_source_volume_changed(u->source, &v);
}
}
}
@@ -1733,7 +1739,8 @@ static void shutdown_bt(struct userdata *u) {
if (u->service_fd >= 0) {
pa_close(u->service_fd);
u->service_fd = -1;
- u->service_write_type = u->service_write_type = 0;
+ u->service_write_type = 0;
+ u->service_read_type = 0;
}
if (u->write_memchunk.memblock) {
@@ -1749,7 +1756,8 @@ static int init_bt(struct userdata *u) {
shutdown_bt(u);
u->stream_write_type = 0;
- u->service_write_type = u->service_write_type = 0;
+ u->service_write_type = 0;
+ u->service_read_type = 0;
if ((u->service_fd = bt_audio_service_open()) < 0) {
pa_log_error("Couldn't connect to bluetooth audio service");
@@ -2083,6 +2091,15 @@ static int add_card(struct userdata *u, const pa_bluetooth_device *device) {
u->card->set_profile = card_set_profile;
d = PA_CARD_PROFILE_DATA(u->card->active_profile);
+
+ if ((device->headset_state < PA_BT_AUDIO_STATE_CONNECTED && *d == PROFILE_HSP) ||
+ (device->audio_sink_state < PA_BT_AUDIO_STATE_CONNECTED && *d == PROFILE_A2DP)) {
+ pa_log_warn("Default profile not connected, selecting off profile");
+ u->card->active_profile = pa_hashmap_get(u->card->profiles, "off");
+ u->card->save_profile = FALSE;
+ }
+
+ d = PA_CARD_PROFILE_DATA(u->card->active_profile);
u->profile = *d;
return 0;
diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c
index d50e59ae..582cbce1 100644
--- a/src/modules/module-combine.c
+++ b/src/modules/module-combine.c
@@ -92,6 +92,8 @@ struct output {
pa_sink *sink;
pa_sink_input *sink_input;
+ pa_bool_t ignore_state_change;
+
pa_asyncmsgq *inq, /* Message queue from the sink thread to this sink input */
*outq; /* Message queue from this sink input to the sink thread */
pa_rtpoll_item *inq_rtpoll_item_read, *inq_rtpoll_item_write;
@@ -99,9 +101,12 @@ struct output {
pa_memblockq *memblockq;
+ /* For communication of the stream latencies to the main thread */
pa_usec_t total_latency;
+ /* For coomunication of the stream parameters to the sink thread */
pa_atomic_t max_request;
+ pa_atomic_t requested_latency;
PA_LLIST_FIELDS(struct output);
};
@@ -119,13 +124,12 @@ struct userdata {
uint32_t adjust_time;
pa_bool_t automatic;
+ pa_bool_t auto_desc;
pa_hook_slot *sink_put_slot, *sink_unlink_slot, *sink_state_changed_slot;
pa_resample_method_t resample_method;
- struct timeval adjust_timestamp;
-
pa_usec_t block_usec;
pa_idxset* outputs; /* managed in main context */
@@ -145,13 +149,16 @@ enum {
SINK_MESSAGE_REMOVE_OUTPUT,
SINK_MESSAGE_NEED,
SINK_MESSAGE_UPDATE_LATENCY,
- SINK_MESSAGE_UPDATE_MAX_REQUEST
+ SINK_MESSAGE_UPDATE_MAX_REQUEST,
+ SINK_MESSAGE_UPDATE_REQUESTED_LATENCY
};
enum {
SINK_INPUT_MESSAGE_POST = PA_SINK_INPUT_MESSAGE_MAX,
};
+static void output_disable(struct output *o);
+static void output_enable(struct output *o);
static void output_free(struct output *o);
static int output_create_sink_input(struct output *o);
@@ -171,7 +178,7 @@ static void adjust_rates(struct userdata *u) {
if (!PA_SINK_IS_OPENED(pa_sink_get_state(u->sink)))
return;
- for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) {
+ PA_IDXSET_FOREACH(o, u->outputs, idx) {
pa_usec_t sink_latency;
if (!o->sink_input || !PA_SINK_IS_OPENED(pa_sink_get_state(o->sink)))
@@ -188,6 +195,11 @@ static void adjust_rates(struct userdata *u) {
avg_total_latency += o->total_latency;
n++;
+
+ pa_log_debug("[%s] total=%0.2fms sink=%0.2fms ", o->sink->name, (double) o->total_latency / PA_USEC_PER_MSEC, (double) sink_latency / PA_USEC_PER_MSEC);
+
+ if (o->total_latency > 10*PA_USEC_PER_SEC)
+ pa_log_warn("[%s] Total latency of output is very high (%0.2fms), most likely the audio timing in one of your drivers is broken.", o->sink->name, (double) o->total_latency / PA_USEC_PER_MSEC);
}
if (min_total_latency == (pa_usec_t) -1)
@@ -202,7 +214,7 @@ static void adjust_rates(struct userdata *u) {
base_rate = u->sink->sample_spec.rate;
- for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) {
+ PA_IDXSET_FOREACH(o, u->outputs, idx) {
uint32_t r = base_rate;
if (!o->sink_input || !PA_SINK_IS_OPENED(pa_sink_get_state(o->sink)))
@@ -214,10 +226,10 @@ static void adjust_rates(struct userdata *u) {
r += (uint32_t) ((((double) (o->total_latency - target_latency))/(double)u->adjust_time)*(double)r/PA_USEC_PER_SEC);
if (r < (uint32_t) (base_rate*0.9) || r > (uint32_t) (base_rate*1.1)) {
- pa_log_warn("[%s] sample rates too different, not adjusting (%u vs. %u).", pa_proplist_gets(o->sink_input->proplist, PA_PROP_MEDIA_NAME), base_rate, r);
+ pa_log_warn("[%s] sample rates too different, not adjusting (%u vs. %u).", o->sink_input->sink->name, base_rate, r);
pa_sink_input_set_rate(o->sink_input, base_rate);
} else {
- pa_log_info("[%s] new rate is %u Hz; ratio is %0.3f; latency is %0.0f usec.", pa_proplist_gets(o->sink_input->proplist, PA_PROP_MEDIA_NAME), r, (double) r / base_rate, (float) o->total_latency);
+ pa_log_info("[%s] new rate is %u Hz; ratio is %0.3f; latency is %0.0f usec.", o->sink_input->sink->name, r, (double) r / base_rate, (float) o->total_latency);
pa_sink_input_set_rate(o->sink_input, r);
}
}
@@ -354,18 +366,15 @@ static void render_memblock(struct userdata *u, struct output *o, size_t length)
u->thread_info.counter += chunk.length;
/* OK, let's send this data to the other threads */
- for (j = u->thread_info.active_outputs; j; j = j->next)
-
- /* Send to other outputs, which are not the requesting
- * one */
+ PA_LLIST_FOREACH(j, u->thread_info.active_outputs) {
+ if (j == o)
+ continue;
- if (j != o)
- pa_asyncmsgq_post(j->inq, PA_MSGOBJECT(j->sink_input), SINK_INPUT_MESSAGE_POST, NULL, 0, &chunk, NULL);
+ pa_asyncmsgq_post(j->inq, PA_MSGOBJECT(j->sink_input), SINK_INPUT_MESSAGE_POST, NULL, 0, &chunk, NULL);
+ }
/* And place it directly into the requesting output's queue */
- if (o)
- pa_memblockq_push_align(o->memblockq, &chunk);
-
+ pa_memblockq_push_align(o->memblockq, &chunk);
pa_memblock_unref(chunk.memblock);
}
}
@@ -401,10 +410,18 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk
/* If necessary, get some new data */
request_memblock(o, nbytes);
+ /* pa_log("%s q size is %u + %u (%u/%u)", */
+ /* i->sink->name, */
+ /* pa_memblockq_get_nblocks(o->memblockq), */
+ /* pa_memblockq_get_nblocks(i->thread_info.render_memblockq), */
+ /* pa_memblockq_get_maxrewind(o->memblockq), */
+ /* pa_memblockq_get_maxrewind(i->thread_info.render_memblockq)); */
+
if (pa_memblockq_peek(o->memblockq, chunk) < 0)
return -1;
pa_memblockq_drop(o->memblockq, chunk->length);
+
return 0;
}
@@ -439,13 +456,35 @@ static void sink_input_update_max_request_cb(pa_sink_input *i, size_t nbytes) {
return;
pa_atomic_store(&o->max_request, (int) nbytes);
-
pa_asyncmsgq_post(o->outq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_UPDATE_MAX_REQUEST, NULL, 0, NULL, NULL);
}
+/* Called from thread context */
+static void sink_input_update_sink_requested_latency_cb(pa_sink_input *i) {
+ struct output *o;
+ pa_usec_t c;
+
+ pa_assert(i);
+
+ pa_sink_input_assert_ref(i);
+ pa_assert_se(o = i->userdata);
+
+ c = pa_sink_get_requested_latency_within_thread(i->sink);
+
+ if (c == (pa_usec_t) -1)
+ c = i->sink->thread_info.max_latency;
+
+ if (pa_atomic_load(&o->requested_latency) == (int) c)
+ return;
+
+ pa_atomic_store(&o->requested_latency, (int) c);
+ pa_asyncmsgq_post(o->outq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_UPDATE_REQUESTED_LATENCY, NULL, 0, NULL, NULL);
+}
+
/* Called from I/O thread context */
static void sink_input_attach_cb(pa_sink_input *i) {
struct output *o;
+ pa_usec_t c;
pa_sink_input_assert_ref(i);
pa_assert_se(o = i->userdata);
@@ -454,14 +493,24 @@ static void sink_input_attach_cb(pa_sink_input *i) {
pa_assert(!o->inq_rtpoll_item_read && !o->outq_rtpoll_item_write);
o->inq_rtpoll_item_read = pa_rtpoll_item_new_asyncmsgq_read(
- i->sink->rtpoll,
+ i->sink->thread_info.rtpoll,
PA_RTPOLL_LATE, /* This one is not that important, since we check for data in _peek() anyway. */
o->inq);
o->outq_rtpoll_item_write = pa_rtpoll_item_new_asyncmsgq_write(
- i->sink->rtpoll,
+ i->sink->thread_info.rtpoll,
PA_RTPOLL_EARLY,
o->outq);
+
+ pa_sink_input_request_rewind(i, 0, FALSE, TRUE, TRUE);
+
+ pa_atomic_store(&o->max_request, (int) pa_sink_input_get_max_request(i));
+
+ c = pa_sink_get_requested_latency_within_thread(i->sink);
+ pa_atomic_store(&o->requested_latency, (int) (c == (pa_usec_t) -1 ? 0 : c));
+
+ pa_asyncmsgq_post(o->outq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_UPDATE_MAX_REQUEST, NULL, 0, NULL, NULL);
+ pa_asyncmsgq_post(o->outq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_UPDATE_REQUESTED_LATENCY, NULL, 0, NULL, NULL);
}
/* Called from I/O thread context */
@@ -471,14 +520,15 @@ static void sink_input_detach_cb(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
pa_assert_se(o = i->userdata);
- /* Shut down the queue from the sink thread to us */
- pa_assert(o->inq_rtpoll_item_read && o->outq_rtpoll_item_write);
-
- pa_rtpoll_item_free(o->inq_rtpoll_item_read);
- o->inq_rtpoll_item_read = NULL;
+ if (o->inq_rtpoll_item_read) {
+ pa_rtpoll_item_free(o->inq_rtpoll_item_read);
+ o->inq_rtpoll_item_read = NULL;
+ }
- pa_rtpoll_item_free(o->outq_rtpoll_item_write);
- o->outq_rtpoll_item_write = NULL;
+ if (o->outq_rtpoll_item_write) {
+ pa_rtpoll_item_free(o->outq_rtpoll_item_write);
+ o->outq_rtpoll_item_write = NULL;
+ }
}
/* Called from main context */
@@ -492,20 +542,6 @@ static void sink_input_kill_cb(pa_sink_input *i) {
output_free(o);
}
-/* Called from IO thread context */
-static void sink_input_state_change_cb(pa_sink_input *i, pa_sink_input_state_t state) {
- struct userdata *u;
-
- pa_sink_input_assert_ref(i);
- pa_assert_se(u = i->userdata);
-
- /* If we are added for the first time, ask for a rewinding so that
- * we are heard right-away. */
- if (PA_SINK_INPUT_IS_LINKED(state) &&
- i->thread_info.state == PA_SINK_INPUT_INIT)
- pa_sink_input_request_rewind(i, 0, FALSE, TRUE, TRUE);
-}
-
/* Called from thread context */
static int sink_input_process_msg(pa_msgobject *obj, int code, void *data, int64_t offset, pa_memchunk *chunk) {
struct output *o = PA_SINK_INPUT(obj)->userdata;
@@ -536,37 +572,6 @@ static int sink_input_process_msg(pa_msgobject *obj, int code, void *data, int64
}
/* Called from main context */
-static void disable_output(struct output *o) {
- pa_assert(o);
-
- if (!o->sink_input)
- return;
-
- pa_sink_input_unlink(o->sink_input);
- pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_REMOVE_OUTPUT, o, 0, NULL);
- pa_sink_input_unref(o->sink_input);
- o->sink_input = NULL;
-}
-
-/* Called from main context */
-static void enable_output(struct output *o) {
- pa_assert(o);
-
- if (o->sink_input)
- return;
-
- if (output_create_sink_input(o) >= 0) {
-
- pa_memblockq_flush_write(o->memblockq);
-
- pa_sink_input_put(o->sink_input);
-
- if (o->userdata->sink && PA_SINK_IS_LINKED(pa_sink_get_state(o->userdata->sink)))
- pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_ADD_OUTPUT, o, 0, NULL);
- }
-}
-
-/* Called from main context */
static void suspend(struct userdata *u) {
struct output *o;
uint32_t idx;
@@ -574,8 +579,8 @@ static void suspend(struct userdata *u) {
pa_assert(u);
/* Let's suspend by unlinking all streams */
- for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx))
- disable_output(o);
+ PA_IDXSET_FOREACH(o, u->outputs, idx)
+ output_disable(o);
pa_log_info("Device suspended...");
}
@@ -588,13 +593,8 @@ static void unsuspend(struct userdata *u) {
pa_assert(u);
/* Let's resume */
- for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) {
-
- pa_sink_suspend(o->sink, FALSE, PA_SUSPEND_IDLE);
-
- if (PA_SINK_IS_OPENED(pa_sink_get_state(o->sink)))
- enable_output(o);
- }
+ PA_IDXSET_FOREACH(o, u->outputs, idx)
+ output_enable(o);
pa_log_info("Resumed successfully...");
}
@@ -638,7 +638,13 @@ static void update_max_request(struct userdata *u) {
size_t max_request = 0;
struct output *o;
- for (o = u->thread_info.active_outputs; o; o = o->next) {
+ pa_assert(u);
+ pa_sink_assert_io_context(u->sink);
+
+ /* Collects the max_request values of all streams and sets the
+ * largest one locally */
+
+ PA_LLIST_FOREACH(o, u->thread_info.active_outputs) {
size_t mr = (size_t) pa_atomic_load(&o->max_request);
if (mr > max_request)
@@ -651,6 +657,67 @@ static void update_max_request(struct userdata *u) {
pa_sink_set_max_request_within_thread(u->sink, max_request);
}
+/* Called from IO context */
+static void update_fixed_latency(struct userdata *u) {
+ pa_usec_t fixed_latency = 0;
+ struct output *o;
+
+ pa_assert(u);
+ pa_sink_assert_io_context(u->sink);
+
+ /* Collects the requested_latency values of all streams and sets
+ * the largest one as fixed_latency locally */
+
+ PA_LLIST_FOREACH(o, u->thread_info.active_outputs) {
+ pa_usec_t rl = (size_t) pa_atomic_load(&o->requested_latency);
+
+ if (rl > fixed_latency)
+ fixed_latency = rl;
+ }
+
+ if (fixed_latency <= 0)
+ fixed_latency = u->block_usec;
+
+ pa_sink_set_fixed_latency_within_thread(u->sink, fixed_latency);
+}
+
+/* Called from thread context of the io thread */
+static void output_add_within_thread(struct output *o) {
+ pa_assert(o);
+ pa_sink_assert_io_context(o->sink);
+
+ PA_LLIST_PREPEND(struct output, o->userdata->thread_info.active_outputs, o);
+
+ pa_assert(!o->outq_rtpoll_item_read && !o->inq_rtpoll_item_write);
+
+ o->outq_rtpoll_item_read = pa_rtpoll_item_new_asyncmsgq_read(
+ o->userdata->rtpoll,
+ PA_RTPOLL_EARLY-1, /* This item is very important */
+ o->outq);
+ o->inq_rtpoll_item_write = pa_rtpoll_item_new_asyncmsgq_write(
+ o->userdata->rtpoll,
+ PA_RTPOLL_EARLY,
+ o->inq);
+}
+
+/* Called from thread context of the io thread */
+static void output_remove_within_thread(struct output *o) {
+ pa_assert(o);
+ pa_sink_assert_io_context(o->sink);
+
+ PA_LLIST_REMOVE(struct output, o->userdata->thread_info.active_outputs, o);
+
+ if (o->outq_rtpoll_item_read) {
+ pa_rtpoll_item_free(o->outq_rtpoll_item_read);
+ o->outq_rtpoll_item_read = NULL;
+ }
+
+ if (o->inq_rtpoll_item_write) {
+ pa_rtpoll_item_free(o->inq_rtpoll_item_write);
+ o->inq_rtpoll_item_write = NULL;
+ }
+}
+
/* Called from thread context of the io thread */
static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offset, pa_memchunk *chunk) {
struct userdata *u = PA_SINK(o)->userdata;
@@ -683,42 +750,17 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
return 0;
}
- case SINK_MESSAGE_ADD_OUTPUT: {
- struct output *op = data;
-
- PA_LLIST_PREPEND(struct output, u->thread_info.active_outputs, op);
-
- pa_assert(!op->outq_rtpoll_item_read && !op->inq_rtpoll_item_write);
-
- op->outq_rtpoll_item_read = pa_rtpoll_item_new_asyncmsgq_read(
- u->rtpoll,
- PA_RTPOLL_EARLY-1, /* This item is very important */
- op->outq);
- op->inq_rtpoll_item_write = pa_rtpoll_item_new_asyncmsgq_write(
- u->rtpoll,
- PA_RTPOLL_EARLY,
- op->inq);
-
+ case SINK_MESSAGE_ADD_OUTPUT:
+ output_add_within_thread(data);
update_max_request(u);
+ update_fixed_latency(u);
return 0;
- }
-
- case SINK_MESSAGE_REMOVE_OUTPUT: {
- struct output *op = data;
-
- PA_LLIST_REMOVE(struct output, u->thread_info.active_outputs, op);
-
- pa_assert(op->outq_rtpoll_item_read && op->inq_rtpoll_item_write);
-
- pa_rtpoll_item_free(op->outq_rtpoll_item_read);
- op->outq_rtpoll_item_read = NULL;
-
- pa_rtpoll_item_free(op->inq_rtpoll_item_write);
- op->inq_rtpoll_item_write = NULL;
+ case SINK_MESSAGE_REMOVE_OUTPUT:
+ output_remove_within_thread(data);
update_max_request(u);
+ update_fixed_latency(u);
return 0;
- }
case SINK_MESSAGE_NEED:
render_memblock(u, (struct output*) data, (size_t) offset);
@@ -740,10 +782,13 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
}
case SINK_MESSAGE_UPDATE_MAX_REQUEST:
-
update_max_request(u);
break;
- }
+
+ case SINK_MESSAGE_UPDATE_REQUESTED_LATENCY:
+ update_fixed_latency(u);
+ break;
+}
return pa_sink_process_msg(o, code, data, offset, chunk);
}
@@ -756,6 +801,9 @@ static void update_description(struct userdata *u) {
pa_assert(u);
+ if (!u->auto_desc)
+ return;
+
if (pa_idxset_isempty(u->outputs)) {
pa_sink_set_description(u->sink, "Simultaneous output");
return;
@@ -763,7 +811,7 @@ static void update_description(struct userdata *u) {
t = pa_xstrdup("Simultaneous output to");
- for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) {
+ PA_IDXSET_FOREACH(o, u->outputs, idx) {
char *e;
if (first) {
@@ -798,7 +846,7 @@ static int output_create_sink_input(struct output *o) {
data.module = o->userdata->module;
data.resample_method = o->userdata->resample_method;
- pa_sink_input_new(&o->sink_input, o->userdata->core, &data, PA_SINK_INPUT_VARIABLE_RATE|PA_SINK_INPUT_DONT_MOVE);
+ pa_sink_input_new(&o->sink_input, o->userdata->core, &data, PA_SINK_INPUT_VARIABLE_RATE|PA_SINK_INPUT_DONT_MOVE|PA_SINK_INPUT_NO_CREATE_ON_SUSPEND);
pa_sink_input_new_data_done(&data);
@@ -808,9 +856,9 @@ static int output_create_sink_input(struct output *o) {
o->sink_input->parent.process_msg = sink_input_process_msg;
o->sink_input->pop = sink_input_pop_cb;
o->sink_input->process_rewind = sink_input_process_rewind_cb;
- o->sink_input->state_change = sink_input_state_change_cb;
o->sink_input->update_max_rewind = sink_input_update_max_rewind_cb;
o->sink_input->update_max_request = sink_input_update_max_request_cb;
+ o->sink_input->update_sink_requested_latency = sink_input_update_sink_requested_latency_cb;
o->sink_input->attach = sink_input_attach_cb;
o->sink_input->detach = sink_input_detach_cb;
o->sink_input->kill = sink_input_kill_cb;
@@ -821,22 +869,19 @@ static int output_create_sink_input(struct output *o) {
return 0;
}
+/* Called from main context */
static struct output *output_new(struct userdata *u, pa_sink *sink) {
struct output *o;
- pa_sink_state_t state;
pa_assert(u);
pa_assert(sink);
pa_assert(u->sink);
- o = pa_xnew(struct output, 1);
+ o = pa_xnew0(struct output, 1);
o->userdata = u;
o->inq = pa_asyncmsgq_new(0);
o->outq = pa_asyncmsgq_new(0);
- o->inq_rtpoll_item_write = o->inq_rtpoll_item_read = NULL;
- o->outq_rtpoll_item_write = o->outq_rtpoll_item_read = NULL;
o->sink = sink;
- o->sink_input = NULL;
o->memblockq = pa_memblockq_new(
0,
MEMBLOCKQ_MAXLENGTH,
@@ -846,84 +891,135 @@ static struct output *output_new(struct userdata *u, pa_sink *sink) {
0,
0,
NULL);
- pa_atomic_store(&o->max_request, 0);
- PA_LLIST_INIT(struct output, o);
pa_assert_se(pa_idxset_put(u->outputs, o, NULL) == 0);
+ update_description(u);
- state = pa_sink_get_state(u->sink);
-
- if (state != PA_SINK_INIT)
- pa_asyncmsgq_send(u->sink->asyncmsgq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_ADD_OUTPUT, o, 0, NULL);
- else {
- /* If the sink is not yet started, we need to do the activation ourselves */
- PA_LLIST_PREPEND(struct output, u->thread_info.active_outputs, o);
-
- o->outq_rtpoll_item_read = pa_rtpoll_item_new_asyncmsgq_read(
- u->rtpoll,
- PA_RTPOLL_EARLY-1, /* This item is very important */
- o->outq);
- o->inq_rtpoll_item_write = pa_rtpoll_item_new_asyncmsgq_write(
- u->rtpoll,
- PA_RTPOLL_EARLY,
- o->inq);
- }
+ return o;
+}
- if (PA_SINK_IS_OPENED(state) || state == PA_SINK_INIT) {
- pa_sink_suspend(sink, FALSE, PA_SUSPEND_IDLE);
+/* Called from main context */
+static void output_free(struct output *o) {
+ pa_assert(o);
- if (PA_SINK_IS_OPENED(pa_sink_get_state(sink)))
- if (output_create_sink_input(o) < 0)
- goto fail;
- }
+ output_disable(o);
- update_description(u);
+ pa_assert_se(pa_idxset_remove_by_data(o->userdata->outputs, o, NULL));
+ update_description(o->userdata);
- return o;
+ if (o->inq_rtpoll_item_read)
+ pa_rtpoll_item_free(o->inq_rtpoll_item_read);
+ if (o->inq_rtpoll_item_write)
+ pa_rtpoll_item_free(o->inq_rtpoll_item_write);
-fail:
+ if (o->outq_rtpoll_item_read)
+ pa_rtpoll_item_free(o->outq_rtpoll_item_read);
+ if (o->outq_rtpoll_item_write)
+ pa_rtpoll_item_free(o->outq_rtpoll_item_write);
- if (o) {
- pa_idxset_remove_by_data(u->outputs, o, NULL);
+ if (o->inq)
+ pa_asyncmsgq_unref(o->inq);
- if (o->sink_input) {
- pa_sink_input_unlink(o->sink_input);
- pa_sink_input_unref(o->sink_input);
- }
+ if (o->outq)
+ pa_asyncmsgq_unref(o->outq);
+
+ if (o->memblockq)
+ pa_memblockq_free(o->memblockq);
+
+ pa_xfree(o);
+}
+
+/* Called from main context */
+static void output_enable(struct output *o) {
+ pa_assert(o);
+
+ if (o->sink_input)
+ return;
+
+ /* This might cause the sink to be resumed. The state change hook
+ * of the sink might hence be called from here, which might then
+ * cause us to be called in a loop. Make sure that state changes
+ * for this output don't cause this loop by setting a flag here */
+ o->ignore_state_change = TRUE;
- if (o->memblockq)
- pa_memblockq_free(o->memblockq);
+ if (output_create_sink_input(o) >= 0) {
- if (o->inq)
- pa_asyncmsgq_unref(o->inq);
+ if (pa_sink_get_state(o->sink) != PA_SINK_INIT) {
- if (o->outq)
- pa_asyncmsgq_unref(o->outq);
+ /* First we register the output. That means that the sink
+ * will start to pass data to this output. */
+ pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_ADD_OUTPUT, o, 0, NULL);
- pa_xfree(o);
+ /* Then we enable the sink input. That means that the sink
+ * is now asked for new data. */
+ pa_sink_input_put(o->sink_input);
+
+ } else
+ /* Hmm the sink is not yet started, do things right here */
+ output_add_within_thread(o);
}
- return NULL;
+ o->ignore_state_change = FALSE;
}
+/* Called from main context */
+static void output_disable(struct output *o) {
+ pa_assert(o);
+
+ if (!o->sink_input)
+ return;
+
+ /* First we disable the sink input. That means that the sink is
+ * not asked for new data anymore */
+ pa_sink_input_unlink(o->sink_input);
+
+ /* Then we unregister the output. That means that the sink doesn't
+ * pass any further data to this output */
+ pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_REMOVE_OUTPUT, o, 0, NULL);
+
+ /* Now dellocate the stream */
+ pa_sink_input_unref(o->sink_input);
+ o->sink_input = NULL;
+
+ /* Finally, drop all queued data */
+ pa_memblockq_flush_write(o->memblockq);
+ pa_asyncmsgq_flush(o->inq, FALSE);
+ pa_asyncmsgq_flush(o->outq, FALSE);
+}
+
+/* Called from main context */
+static void output_verify(struct output *o) {
+ pa_assert(o);
+
+ if (PA_SINK_IS_OPENED(pa_sink_get_state(o->userdata->sink)))
+ output_enable(o);
+ else
+ output_disable(o);
+}
+
+/* Called from main context */
static pa_bool_t is_suitable_sink(struct userdata *u, pa_sink *s) {
const char *t;
pa_sink_assert_ref(s);
+ if (s == u->sink)
+ return FALSE;
+
if (!(s->flags & PA_SINK_HARDWARE))
return FALSE;
- if (s == u->sink)
+ if (!(s->flags & PA_SINK_LATENCY))
return FALSE;
if ((t = pa_proplist_gets(s->proplist, PA_PROP_DEVICE_CLASS)))
- if (strcmp(t, "sound"))
+ if (!pa_streq(t, "sound"))
return FALSE;
return TRUE;
}
+/* Called from main context */
static pa_hook_result_t sink_put_hook_cb(pa_core *c, pa_sink *s, struct userdata* u) {
struct output *o;
@@ -936,18 +1032,17 @@ static pa_hook_result_t sink_put_hook_cb(pa_core *c, pa_sink *s, struct userdata
return PA_HOOK_OK;
pa_log_info("Configuring new sink: %s", s->name);
-
if (!(o = output_new(u, s))) {
pa_log("Failed to create sink input on sink '%s'.", s->name);
return PA_HOOK_OK;
}
- if (o->sink_input)
- pa_sink_input_put(o->sink_input);
+ output_verify(o);
return PA_HOOK_OK;
}
+/* Called from main context */
static struct output* find_output(struct userdata *u, pa_sink *s) {
struct output *o;
uint32_t idx;
@@ -958,13 +1053,14 @@ static struct output* find_output(struct userdata *u, pa_sink *s) {
if (u->sink == s)
return NULL;
- for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx))
+ PA_IDXSET_FOREACH(o, u->outputs, idx)
if (o->sink == s)
return o;
return NULL;
}
+/* Called from main context */
static pa_hook_result_t sink_unlink_hook_cb(pa_core *c, pa_sink *s, struct userdata* u) {
struct output *o;
@@ -976,26 +1072,25 @@ static pa_hook_result_t sink_unlink_hook_cb(pa_core *c, pa_sink *s, struct userd
return PA_HOOK_OK;
pa_log_info("Unconfiguring sink: %s", s->name);
-
output_free(o);
return PA_HOOK_OK;
}
+/* Called from main context */
static pa_hook_result_t sink_state_changed_hook_cb(pa_core *c, pa_sink *s, struct userdata* u) {
struct output *o;
- pa_sink_state_t state;
if (!(o = find_output(u, s)))
return PA_HOOK_OK;
- state = pa_sink_get_state(s);
-
- if (PA_SINK_IS_OPENED(state) && PA_SINK_IS_OPENED(pa_sink_get_state(u->sink)) && !o->sink_input)
- enable_output(o);
+ /* This state change might be triggered because we are creating a
+ * stream here, in that case we don't want to create it a second
+ * time here and enter a loop */
+ if (o->ignore_state_change)
+ return PA_HOOK_OK;
- if (state == PA_SINK_SUSPENDED && o->sink_input)
- disable_output(o);
+ output_verify(o);
return PA_HOOK_OK;
}
@@ -1025,18 +1120,14 @@ int pa__init(pa_module*m) {
}
}
- m->userdata = u = pa_xnew(struct userdata, 1);
+ m->userdata = u = pa_xnew0(struct userdata, 1);
u->core = m->core;
u->module = m;
- u->sink = NULL;
- u->time_event = NULL;
u->adjust_time = DEFAULT_ADJUST_TIME;
u->rtpoll = pa_rtpoll_new();
pa_thread_mq_init(&u->thread_mq, m->core->mainloop, u->rtpoll);
- u->thread = NULL;
u->resample_method = resample_method;
u->outputs = pa_idxset_new(NULL, NULL);
- memset(&u->adjust_timestamp, 0, sizeof(u->adjust_timestamp));
u->sink_put_slot = u->sink_unlink_slot = u->sink_state_changed_slot = NULL;
PA_LLIST_HEAD_INIT(struct output, u->thread_info.active_outputs);
pa_atomic_store(&u->thread_info.running, FALSE);
@@ -1061,6 +1152,55 @@ int pa__init(pa_module*m) {
ss = m->core->default_sample_spec;
map = m->core->default_channel_map;
+
+ /* Check the specified slave sinks for sample_spec and channel_map to use for the combined sink */
+ if (!u->automatic) {
+ const char*split_state = NULL;
+ char *n = NULL;
+ pa_sample_spec slaves_spec;
+ pa_channel_map slaves_map;
+ pa_bool_t is_first_slave = TRUE;
+
+ while ((n = pa_split(slaves, ",", &split_state))) {
+ pa_sink *slave_sink;
+
+ if (!(slave_sink = pa_namereg_get(m->core, n, PA_NAMEREG_SINK))) {
+ pa_log("Invalid slave sink '%s'", n);
+ pa_xfree(n);
+ goto fail;
+ }
+
+ pa_xfree(n);
+
+ if (is_first_slave) {
+ slaves_spec = slave_sink->sample_spec;
+ slaves_map = slave_sink->channel_map;
+ is_first_slave = FALSE;
+ } else {
+ if (slaves_spec.format != slave_sink->sample_spec.format)
+ slaves_spec.format = PA_SAMPLE_INVALID;
+
+ if (slaves_spec.rate < slave_sink->sample_spec.rate)
+ slaves_spec.rate = slave_sink->sample_spec.rate;
+
+ if (!pa_channel_map_equal(&slaves_map, &slave_sink->channel_map))
+ slaves_spec.channels = 0;
+ }
+ }
+
+ if (!is_first_slave) {
+ if (slaves_spec.format != PA_SAMPLE_INVALID)
+ ss.format = slaves_spec.format;
+
+ ss.rate = slaves_spec.rate;
+
+ if (slaves_spec.channels > 0) {
+ map = slaves_map;
+ ss.channels = slaves_map.channels;
+ }
+ }
+ }
+
if ((pa_modargs_get_sample_spec_and_channel_map(ma, &ss, &map, PA_CHANNEL_MAP_DEFAULT) < 0)) {
pa_log("Invalid sample specification.");
goto fail;
@@ -1073,7 +1213,6 @@ int pa__init(pa_module*m) {
pa_sink_new_data_set_name(&data, pa_modargs_get_value(ma, "sink_name", DEFAULT_SINK_NAME));
pa_sink_new_data_set_sample_spec(&data, &ss);
pa_sink_new_data_set_channel_map(&data, &map);
- pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Simultaneous Output");
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_CLASS, "filter");
if (slaves)
@@ -1085,6 +1224,13 @@ int pa__init(pa_module*m) {
goto fail;
}
+ /* Check proplist for a description & fill in a default value if not */
+ u->auto_desc = FALSE;
+ if (NULL == pa_proplist_gets(data.proplist, PA_PROP_DEVICE_DESCRIPTION)) {
+ u->auto_desc = TRUE;
+ pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Simultaneous Output");
+ }
+
u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY);
pa_sink_new_data_done(&data);
@@ -1138,7 +1284,7 @@ int pa__init(pa_module*m) {
/* We're in automatic mode, we add every sink that matches our needs */
- for (s = pa_idxset_first(m->core->sinks, &idx); s; s = pa_idxset_next(m->core->sinks, &idx)) {
+ PA_IDXSET_FOREACH(s, m->core->sinks, idx) {
if (!is_suitable_sink(u, s))
continue;
@@ -1163,9 +1309,8 @@ int pa__init(pa_module*m) {
/* Activate the sink and the sink inputs */
pa_sink_put(u->sink);
- for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx))
- if (o->sink_input)
- pa_sink_input_put(o->sink_input);
+ PA_IDXSET_FOREACH(o, u->outputs, idx)
+ output_verify(o);
if (u->adjust_time > 0)
u->time_event = pa_core_rttime_new(m->core, pa_rtclock_now() + u->adjust_time * PA_USEC_PER_SEC, time_callback, u);
@@ -1184,37 +1329,6 @@ fail:
return -1;
}
-static void output_free(struct output *o) {
- pa_assert(o);
-
- disable_output(o);
-
- pa_assert_se(pa_idxset_remove_by_data(o->userdata->outputs, o, NULL));
-
- update_description(o->userdata);
-
- if (o->inq_rtpoll_item_read)
- pa_rtpoll_item_free(o->inq_rtpoll_item_read);
- if (o->inq_rtpoll_item_write)
- pa_rtpoll_item_free(o->inq_rtpoll_item_write);
-
- if (o->outq_rtpoll_item_read)
- pa_rtpoll_item_free(o->outq_rtpoll_item_read);
- if (o->outq_rtpoll_item_write)
- pa_rtpoll_item_free(o->outq_rtpoll_item_write);
-
- if (o->inq)
- pa_asyncmsgq_unref(o->inq);
-
- if (o->outq)
- pa_asyncmsgq_unref(o->outq);
-
- if (o->memblockq)
- pa_memblockq_free(o->memblockq);
-
- pa_xfree(o);
-}
-
void pa__done(pa_module*m) {
struct userdata *u;
struct output *o;
diff --git a/src/modules/module-detect.c b/src/modules/module-detect.c
index 18479df3..956fe4c5 100644
--- a/src/modules/module-detect.c
+++ b/src/modules/module-detect.c
@@ -119,7 +119,7 @@ static int detect_alsa(pa_core *c, int just_one) {
}
#endif
-#ifdef HAVE_OSS
+#ifdef HAVE_OSS_OUTPUT
static int detect_oss(pa_core *c, int just_one) {
FILE *f;
int n = 0, b = 0;
@@ -240,7 +240,7 @@ int pa__init(pa_module*m) {
#ifdef HAVE_ALSA
if ((n = detect_alsa(m->core, just_one)) <= 0)
#endif
-#ifdef HAVE_OSS
+#ifdef HAVE_OSS_OUTPUT
if ((n = detect_oss(m->core, just_one)) <= 0)
#endif
#ifdef HAVE_SOLARIS
diff --git a/src/modules/module-hal-detect-compat.c b/src/modules/module-hal-detect-compat.c
new file mode 100644
index 00000000..14cf8143
--- /dev/null
+++ b/src/modules/module-hal-detect-compat.c
@@ -0,0 +1,84 @@
+/***
+ This file is part of PulseAudio.
+
+ Copyright 2009 Lennart Poettering
+
+ 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
+ General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with PulseAudio; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <pulse/xmalloc.h>
+
+#include <pulsecore/module.h>
+#include <pulsecore/modargs.h>
+#include <pulsecore/log.h>
+#include <pulsecore/core-util.h>
+
+#include "module-hal-detect-symdef.h"
+
+PA_MODULE_AUTHOR("Lennart Poettering");
+PA_MODULE_DESCRIPTION("Compatibility module");
+PA_MODULE_VERSION(PACKAGE_VERSION);
+PA_MODULE_LOAD_ONCE(TRUE);
+PA_MODULE_DEPRECATED("Please use module-udev-detect instead of module-hal-detect!");
+
+static const char* const valid_modargs[] = {
+ "api",
+ "tsched",
+ "subdevices",
+ NULL,
+};
+
+int pa__init(pa_module*m) {
+ pa_modargs *ma = NULL;
+ pa_bool_t tsched = TRUE;
+ pa_module *n;
+ char *t;
+
+ pa_assert(m);
+
+ if (!(ma = pa_modargs_new(m->argument, valid_modargs))) {
+ pa_log("Failed to parse module arguments");
+ goto fail;
+ }
+
+ if (pa_modargs_get_value_boolean(ma, "tsched", &tsched) < 0) {
+ pa_log("tsched= expects boolean arguments");
+ goto fail;
+ }
+
+ pa_log_warn("We will now load module-udev-detect. Please make sure to remove module-hal-detect from your configuration.");
+
+ t = pa_sprintf_malloc("tsched=%s", pa_yes_no(tsched));
+ n = pa_module_load(m->core, "module-udev-detect", t);
+ pa_xfree(t);
+
+ if (n)
+ pa_module_unload_request(m, TRUE);
+
+ pa_modargs_free(ma);
+
+ return n ? 0 : -1;
+
+fail:
+ if (ma)
+ pa_modargs_free(ma);
+
+ return -1;
+}
diff --git a/src/modules/module-hal-detect.c b/src/modules/module-hal-detect.c
index 658b3e55..ec370d61 100644
--- a/src/modules/module-hal-detect.c
+++ b/src/modules/module-hal-detect.c
@@ -55,14 +55,16 @@ PA_MODULE_AUTHOR("Shahms King");
PA_MODULE_DESCRIPTION("Detect available audio hardware and load matching drivers");
PA_MODULE_VERSION(PACKAGE_VERSION);
PA_MODULE_LOAD_ONCE(TRUE);
-#if defined(HAVE_ALSA) && defined(HAVE_OSS)
+#if defined(HAVE_ALSA) && defined(HAVE_OSS_OUTPUT)
PA_MODULE_USAGE("api=<alsa or oss> "
- "tsched=<enable system timer based scheduling mode?>");
+ "tsched=<enable system timer based scheduling mode?>"
+ "subdevices=<init all subdevices>");
#elif defined(HAVE_ALSA)
PA_MODULE_USAGE("api=<alsa> "
"tsched=<enable system timer based scheduling mode?>");
-#elif defined(HAVE_OSS)
-PA_MODULE_USAGE("api=<oss>");
+#elif defined(HAVE_OSS_OUTPUT)
+PA_MODULE_USAGE("api=<oss>"
+ "subdevices=<init all subdevices>");
#endif
PA_MODULE_DEPRECATED("Please use module-udev-detect instead of module-hal-detect!");
@@ -82,6 +84,9 @@ struct userdata {
#ifdef HAVE_ALSA
pa_bool_t use_tsched;
#endif
+#ifdef HAVE_OSS_OUTPUT
+ pa_bool_t init_subdevs;
+#endif
};
#define CAPABILITY_ALSA "alsa"
@@ -92,6 +97,9 @@ static const char* const valid_modargs[] = {
#ifdef HAVE_ALSA
"tsched",
#endif
+#ifdef HAVE_OSS_OUTPUT
+ "subdevices",
+#endif
NULL
};
@@ -262,9 +270,9 @@ fail:
#endif
-#ifdef HAVE_OSS
+#ifdef HAVE_OSS_OUTPUT
-static pa_bool_t hal_oss_device_is_pcm(LibHalContext *context, const char *udi) {
+static pa_bool_t hal_oss_device_is_pcm(LibHalContext *context, const char *udi, pa_bool_t init_subdevices) {
char *class = NULL, *dev = NULL, *e;
int device;
pa_bool_t r = FALSE;
@@ -294,7 +302,7 @@ static pa_bool_t hal_oss_device_is_pcm(LibHalContext *context, const char *udi)
/* We only care for the main device */
device = libhal_device_get_property_int(context, udi, "oss.device", &error);
- if (dbus_error_is_set(&error) || device != 0)
+ if (dbus_error_is_set(&error) || (device != 0 && init_subdevices == FALSE))
goto finish;
r = TRUE;
@@ -324,7 +332,7 @@ static int hal_device_load_oss(struct userdata *u, const char *udi, struct devic
pa_assert(d);
/* We only care for OSS PCM devices */
- if (!hal_oss_device_is_pcm(u->context, udi))
+ if (!hal_oss_device_is_pcm(u->context, udi, u->init_subdevs))
goto fail;
/* We store only one entry per card, hence we look for the originating device */
@@ -394,7 +402,7 @@ static struct device* hal_device_add(struct userdata *u, const char *udi) {
if (pa_streq(u->capability, CAPABILITY_ALSA))
r = hal_device_load_alsa(u, udi, d);
#endif
-#ifdef HAVE_OSS
+#ifdef HAVE_OSS_OUTPUT
if (pa_streq(u->capability, CAPABILITY_OSS))
r = hal_device_load_oss(u, udi, d);
#endif
@@ -753,7 +761,7 @@ int pa__init(pa_module*m) {
api = pa_modargs_get_value(ma, "api", "oss");
#endif
-#ifdef HAVE_OSS
+#ifdef HAVE_OSS_OUTPUT
if (pa_streq(api, "oss"))
u->capability = CAPABILITY_OSS;
#endif
@@ -763,6 +771,13 @@ int pa__init(pa_module*m) {
goto fail;
}
+#ifdef HAVE_OSS_OUTPUT
+ if (pa_modargs_get_value_boolean(ma, "subdevices", &u->init_subdevs) < 0) {
+ pa_log("Failed to parse subdevices= argument.");
+ goto fail;
+ }
+#endif
+
if (!(u->connection = pa_dbus_bus_get(m->core, DBUS_BUS_SYSTEM, &error)) || dbus_error_is_set(&error)) {
pa_log_error("Unable to contact DBUS system bus: %s: %s", error.name, error.message);
goto fail;
diff --git a/src/modules/module-intended-roles.c b/src/modules/module-intended-roles.c
index c697209a..b9924dfd 100644
--- a/src/modules/module-intended-roles.c
+++ b/src/modules/module-intended-roles.c
@@ -127,6 +127,9 @@ static pa_hook_result_t sink_input_new_hook_callback(pa_core *c, pa_sink_input_n
if (s == def)
continue;
+ if (!PA_SINK_IS_LINKED(pa_sink_get_state(s)))
+ continue;
+
if (role_match(s->proplist, role)) {
new_data->sink = s;
new_data->save_sink = FALSE;
@@ -173,6 +176,9 @@ static pa_hook_result_t source_output_new_hook_callback(pa_core *c, pa_source_ou
if (s == def)
continue;
+ if (!PA_SOURCE_IS_LINKED(pa_source_get_state(s)))
+ continue;
+
if (role_match(s->proplist, role)) {
new_data->source = s;
new_data->save_source = FALSE;
@@ -201,6 +207,17 @@ static pa_hook_result_t sink_put_hook_callback(pa_core *c, pa_sink *sink, struct
if (si->save_sink)
continue;
+ /* Skip this if it is already in the process of being moved
+ * anyway */
+ if (!si->sink)
+ continue;
+
+ /* It might happen that a stream and a sink are set up at the
+ same time, in which case we want to make sure we don't
+ interfere with that */
+ if (!PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(si)))
+ continue;
+
if (!(role = pa_proplist_gets(si->proplist, PA_PROP_MEDIA_ROLE)))
continue;
@@ -237,6 +254,17 @@ static pa_hook_result_t source_put_hook_callback(pa_core *c, pa_source *source,
if (so->direct_on_input)
continue;
+ /* Skip this if it is already in the process of being moved
+ * anyway */
+ if (!so->source)
+ continue;
+
+ /* It might happen that a stream and a source are set up at the
+ same time, in which case we want to make sure we don't
+ interfere with that */
+ if (!PA_SOURCE_OUTPUT_IS_LINKED(pa_source_output_get_state(so)))
+ continue;
+
if (!(role = pa_proplist_gets(so->proplist, PA_PROP_MEDIA_ROLE)))
continue;
@@ -275,24 +303,28 @@ static pa_hook_result_t sink_unlink_hook_callback(pa_core *c, pa_sink *sink, str
uint32_t jdx;
pa_sink *d;
+ if (!si->sink)
+ continue;
+
if (!(role = pa_proplist_gets(si->proplist, PA_PROP_MEDIA_ROLE)))
continue;
/* Would the default sink fit? If so, let's use it */
- if (def != sink && role_match(def->proplist, role)) {
- pa_sink_input_move_to(si, def, FALSE);
- continue;
- }
+ if (def != sink && role_match(def->proplist, role))
+ if (pa_sink_input_move_to(si, def, FALSE) >= 0)
+ continue;
/* Try to find some other fitting sink */
PA_IDXSET_FOREACH(d, c->sinks, jdx) {
if (d == def || d == sink)
continue;
- if (role_match(d->proplist, role)) {
- pa_sink_input_move_to(si, d, FALSE);
- break;
- }
+ if (!PA_SINK_IS_LINKED(pa_sink_get_state(d)))
+ continue;
+
+ if (role_match(d->proplist, role))
+ if (pa_sink_input_move_to(si, d, FALSE) >= 0)
+ break;
}
}
@@ -325,6 +357,9 @@ static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *sourc
if (so->direct_on_input)
continue;
+ if (!so->source)
+ continue;
+
if (!(role = pa_proplist_gets(so->proplist, PA_PROP_MEDIA_ROLE)))
continue;
@@ -339,6 +374,9 @@ static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *sourc
if (d == def || d == source)
continue;
+ if (!PA_SOURCE_IS_LINKED(pa_source_get_state(d)))
+ continue;
+
if (role_match(d->proplist, role) && !source->monitor_of == !d->monitor_of) {
pa_source_output_move_to(so, d, FALSE);
break;
diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c
index 21f4a8f1..f2d53d00 100644
--- a/src/modules/module-ladspa-sink.c
+++ b/src/modules/module-ladspa-sink.c
@@ -64,10 +64,9 @@ PA_MODULE_USAGE(
#define MEMBLOCKQ_MAXLENGTH (16*1024*1024)
struct userdata {
- pa_core *core;
pa_module *module;
- pa_sink *sink, *master;
+ pa_sink *sink;
pa_sink_input *sink_input;
const LADSPA_Descriptor *descriptor;
@@ -105,19 +104,26 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
switch (code) {
- case PA_SINK_MESSAGE_GET_LATENCY: {
- pa_usec_t usec = 0;
+ case PA_SINK_MESSAGE_GET_LATENCY:
- /* Get the latency of the master sink */
- if (PA_MSGOBJECT(u->master)->process_msg(PA_MSGOBJECT(u->master), PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0)
- usec = 0;
+ /* The sink is _put() before the sink input is, so let's
+ * make sure we don't access it in that time. Also, the
+ * sink input is first shut down, the sink second. */
+ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) ||
+ !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) {
+ *((pa_usec_t*) data) = 0;
+ return 0;
+ }
+
+ *((pa_usec_t*) data) =
- /* Add the latency internal to our sink input on top */
- usec += pa_bytes_to_usec(pa_memblockq_get_length(u->sink_input->thread_info.render_memblockq), &u->master->sample_spec);
+ /* Get the latency of the master sink */
+ pa_sink_get_latency_within_thread(u->sink_input->sink) +
+
+ /* Add the latency internal to our sink input on top */
+ pa_bytes_to_usec(pa_memblockq_get_length(u->sink_input->thread_info.render_memblockq), &u->sink_input->sink->sample_spec);
- *((pa_usec_t*) data) = usec;
return 0;
- }
}
return pa_sink_process_msg(o, code, data, offset, chunk);
@@ -130,12 +136,11 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
pa_sink_assert_ref(s);
pa_assert_se(u = s->userdata);
- if (PA_SINK_IS_LINKED(state) &&
- u->sink_input &&
- PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(u->sink_input)))
-
- pa_sink_input_cork(u->sink_input, state == PA_SINK_SUSPENDED);
+ if (!PA_SINK_IS_LINKED(state) ||
+ !PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(u->sink_input)))
+ return 0;
+ pa_sink_input_cork(u->sink_input, state == PA_SINK_SUSPENDED);
return 0;
}
@@ -146,6 +151,10 @@ static void sink_request_rewind(pa_sink *s) {
pa_sink_assert_ref(s);
pa_assert_se(u = s->userdata);
+ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) ||
+ !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state))
+ return;
+
/* Just hand this one over to the master sink */
pa_sink_input_request_rewind(u->sink_input, s->thread_info.rewind_nbytes + pa_memblockq_get_length(u->memblockq), TRUE, FALSE, FALSE);
}
@@ -157,6 +166,10 @@ static void sink_update_requested_latency(pa_sink *s) {
pa_sink_assert_ref(s);
pa_assert_se(u = s->userdata);
+ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) ||
+ !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state))
+ return;
+
/* Just hand this one over to the master sink */
pa_sink_input_set_requested_latency_within_thread(
u->sink_input,
@@ -175,8 +188,8 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk
pa_assert(chunk);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_OPENED(u->sink->thread_info.state))
- return -1;
+ /* Hmm, process any rewind request that might be queued up */
+ pa_sink_process_rewind(u->sink, 0);
while (pa_memblockq_peek(u->memblockq, &tchunk) < 0) {
pa_memchunk nchunk;
@@ -225,9 +238,6 @@ static void sink_input_process_rewind_cb(pa_sink_input *i, size_t nbytes) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_OPENED(u->sink->thread_info.state))
- return;
-
if (u->sink->thread_info.rewind_nbytes > 0) {
size_t max_rewrite;
@@ -263,9 +273,6 @@ static void sink_input_update_max_rewind_cb(pa_sink_input *i, size_t nbytes) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
-
pa_memblockq_set_maxrewind(u->memblockq, nbytes);
pa_sink_set_max_rewind_within_thread(u->sink, nbytes);
}
@@ -277,9 +284,6 @@ static void sink_input_update_max_request_cb(pa_sink_input *i, size_t nbytes) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
-
pa_sink_set_max_request_within_thread(u->sink, nbytes);
}
@@ -290,24 +294,28 @@ static void sink_input_update_sink_latency_range_cb(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
-
pa_sink_set_latency_range_within_thread(u->sink, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency);
}
/* Called from I/O thread context */
-static void sink_input_detach_cb(pa_sink_input *i) {
+static void sink_input_update_sink_fixed_latency_cb(pa_sink_input *i) {
struct userdata *u;
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
+ pa_sink_set_fixed_latency_within_thread(u->sink, i->sink->thread_info.fixed_latency);
+}
+
+/* Called from I/O thread context */
+static void sink_input_detach_cb(pa_sink_input *i) {
+ struct userdata *u;
+
+ pa_sink_input_assert_ref(i);
+ pa_assert_se(u = i->userdata);
pa_sink_detach_within_thread(u->sink);
- pa_sink_set_asyncmsgq(u->sink, NULL);
+
pa_sink_set_rtpoll(u->sink, NULL);
}
@@ -318,14 +326,13 @@ static void sink_input_attach_cb(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
+ pa_sink_set_rtpoll(u->sink, i->sink->thread_info.rtpoll);
+ pa_sink_set_latency_range_within_thread(u->sink, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency);
+ pa_sink_set_fixed_latency_within_thread(u->sink, i->sink->thread_info.fixed_latency);
+ pa_sink_set_max_request_within_thread(u->sink, pa_sink_input_get_max_request(i));
+ pa_sink_set_max_rewind_within_thread(u->sink, pa_sink_input_get_max_rewind(i));
- pa_sink_set_asyncmsgq(u->sink, i->sink->asyncmsgq);
- pa_sink_set_rtpoll(u->sink, i->sink->rtpoll);
pa_sink_attach_within_thread(u->sink);
-
- pa_sink_set_latency_range_within_thread(u->sink, u->master->thread_info.min_latency, u->master->thread_info.max_latency);
}
/* Called from main context */
@@ -335,14 +342,18 @@ static void sink_input_kill_cb(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- pa_sink_unlink(u->sink);
+ /* The order here matters! We first kill the sink input, followed
+ * by the sink. That means the sink callbacks must be protected
+ * against an unconnected sink input! */
pa_sink_input_unlink(u->sink_input);
+ pa_sink_unlink(u->sink);
- pa_sink_unref(u->sink);
- u->sink = NULL;
pa_sink_input_unref(u->sink_input);
u->sink_input = NULL;
+ pa_sink_unref(u->sink);
+ u->sink = NULL;
+
pa_module_unload_request(u->module, TRUE);
}
@@ -372,6 +383,17 @@ static pa_bool_t sink_input_may_move_to_cb(pa_sink_input *i, pa_sink *dest) {
return u->sink != dest;
}
+/* Called from main context */
+static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {
+ struct userdata *u;
+
+ pa_sink_input_assert_ref(i);
+ pa_assert_se(u = i->userdata);
+
+ pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq);
+ pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags);
+}
+
int pa__init(pa_module*m) {
struct userdata *u;
pa_sample_spec ss;
@@ -392,7 +414,7 @@ int pa__init(pa_module*m) {
pa_assert(m);
- pa_assert(sizeof(LADSPA_Data) == sizeof(float));
+ pa_assert_cc(sizeof(LADSPA_Data) == sizeof(float));
if (!(ma = pa_modargs_new(m->argument, valid_modargs))) {
pa_log("Failed to parse module arguments.");
@@ -425,12 +447,8 @@ int pa__init(pa_module*m) {
cdata = pa_modargs_get_value(ma, "control", NULL);
u = pa_xnew0(struct userdata, 1);
- u->core = m->core;
u->module = m;
m->userdata = u;
- u->master = master;
- u->sink = NULL;
- u->sink_input = NULL;
u->memblockq = pa_memblockq_new(0, MEMBLOCKQ_MAXLENGTH, 0, pa_frame_size(&ss), 1, 1, 0, NULL);
if (!(e = getenv("LADSPA_PATH")))
@@ -694,11 +712,10 @@ int pa__init(pa_module*m) {
sink_data.module = m;
if (!(sink_data.name = pa_xstrdup(pa_modargs_get_value(ma, "sink_name", NULL))))
sink_data.name = pa_sprintf_malloc("%s.ladspa", master->name);
- sink_data.namereg_fail = FALSE;
pa_sink_new_data_set_sample_spec(&sink_data, &ss);
pa_sink_new_data_set_channel_map(&sink_data, &map);
z = pa_proplist_gets(master->proplist, PA_PROP_DEVICE_DESCRIPTION);
- pa_proplist_setf(sink_data.proplist, PA_PROP_DEVICE_DESCRIPTION, "LADSPA Plugin %s on %s", label, z ? z : master->name);
+ pa_proplist_setf(sink_data.proplist, PA_PROP_DEVICE_DESCRIPTION, "LADSPA Plugin %s on %s", d->Name, z ? z : master->name);
pa_proplist_sets(sink_data.proplist, PA_PROP_DEVICE_MASTER_DEVICE, master->name);
pa_proplist_sets(sink_data.proplist, PA_PROP_DEVICE_CLASS, "filter");
pa_proplist_sets(sink_data.proplist, "device.ladspa.module", plugin);
@@ -714,7 +731,7 @@ int pa__init(pa_module*m) {
goto fail;
}
- u->sink = pa_sink_new(m->core, &sink_data, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY);
+ u->sink = pa_sink_new(m->core, &sink_data, master->flags & (PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY));
pa_sink_new_data_done(&sink_data);
if (!u->sink) {
@@ -729,19 +746,18 @@ int pa__init(pa_module*m) {
u->sink->userdata = u;
pa_sink_set_asyncmsgq(u->sink, master->asyncmsgq);
- pa_sink_set_rtpoll(u->sink, master->rtpoll);
/* Create sink input */
pa_sink_input_new_data_init(&sink_input_data);
sink_input_data.driver = __FILE__;
sink_input_data.module = m;
- sink_input_data.sink = u->master;
+ sink_input_data.sink = master;
pa_proplist_sets(sink_input_data.proplist, PA_PROP_MEDIA_NAME, "LADSPA Stream");
pa_proplist_sets(sink_input_data.proplist, PA_PROP_MEDIA_ROLE, "filter");
pa_sink_input_new_data_set_sample_spec(&sink_input_data, &ss);
pa_sink_input_new_data_set_channel_map(&sink_input_data, &map);
- pa_sink_input_new(&u->sink_input, m->core, &sink_input_data, PA_SINK_INPUT_DONT_MOVE);
+ pa_sink_input_new(&u->sink_input, m->core, &sink_input_data, 0);
pa_sink_input_new_data_done(&sink_input_data);
if (!u->sink_input)
@@ -752,11 +768,13 @@ int pa__init(pa_module*m) {
u->sink_input->update_max_rewind = sink_input_update_max_rewind_cb;
u->sink_input->update_max_request = sink_input_update_max_request_cb;
u->sink_input->update_sink_latency_range = sink_input_update_sink_latency_range_cb;
+ u->sink_input->update_sink_fixed_latency = sink_input_update_sink_fixed_latency_cb;
u->sink_input->kill = sink_input_kill_cb;
u->sink_input->attach = sink_input_attach_cb;
u->sink_input->detach = sink_input_detach_cb;
u->sink_input->state_change = sink_input_state_change_cb;
u->sink_input->may_move_to = sink_input_may_move_to_cb;
+ u->sink_input->moving = sink_input_moving_cb;
u->sink_input->userdata = u;
pa_sink_put(u->sink);
@@ -797,15 +815,20 @@ void pa__done(pa_module*m) {
if (!(u = m->userdata))
return;
- if (u->sink) {
- pa_sink_unlink(u->sink);
- pa_sink_unref(u->sink);
- }
+ /* See comments in sink_input_kill_cb() above regarding
+ * destruction order! */
- if (u->sink_input) {
+ if (u->sink_input)
pa_sink_input_unlink(u->sink_input);
+
+ if (u->sink)
+ pa_sink_unlink(u->sink);
+
+ if (u->sink_input)
pa_sink_input_unref(u->sink_input);
- }
+
+ if (u->sink)
+ pa_sink_unref(u->sink);
for (c = 0; c < u->channels; c++)
if (u->handle[c]) {
diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c
index 8a7dc846..9c169327 100644
--- a/src/modules/module-pipe-sink.c
+++ b/src/modules/module-pipe-sink.c
@@ -122,7 +122,7 @@ static int process_render(struct userdata *u) {
pa_assert(u);
if (u->memchunk.length <= 0)
- pa_sink_render(u->sink, PIPE_BUF, &u->memchunk);
+ pa_sink_render(u->sink, pa_pipe_buf(u->fd), &u->memchunk);
pa_assert(u->memchunk.length > 0);
@@ -299,8 +299,8 @@ int pa__init(pa_module*m) {
pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq);
pa_sink_set_rtpoll(u->sink, u->rtpoll);
- pa_sink_set_max_request(u->sink, PIPE_BUF);
- pa_sink_set_fixed_latency(u->sink, pa_bytes_to_usec(PIPE_BUF, &u->sink->sample_spec));
+ pa_sink_set_max_request(u->sink, pa_pipe_buf(u->fd));
+ pa_sink_set_fixed_latency(u->sink, pa_bytes_to_usec(pa_pipe_buf(u->fd), &u->sink->sample_spec));
u->rtpoll_item = pa_rtpoll_item_new(u->rtpoll, PA_RTPOLL_NEVER, 1);
pollfd = pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL);
diff --git a/src/modules/module-pipe-source.c b/src/modules/module-pipe-source.c
index e5609fb5..49104f8d 100644
--- a/src/modules/module-pipe-source.c
+++ b/src/modules/module-pipe-source.c
@@ -142,7 +142,7 @@ static void thread_func(void *userdata) {
void *p;
if (!u->memchunk.memblock) {
- u->memchunk.memblock = pa_memblock_new(u->core->mempool, PIPE_BUF);
+ u->memchunk.memblock = pa_memblock_new(u->core->mempool, pa_pipe_buf(u->fd));
u->memchunk.index = u->memchunk.length = 0;
}
diff --git a/src/modules/module-remap-sink.c b/src/modules/module-remap-sink.c
index 119f5b9f..0b4fdc9b 100644
--- a/src/modules/module-remap-sink.c
+++ b/src/modules/module-remap-sink.c
@@ -1,7 +1,7 @@
/***
This file is part of PulseAudio.
- Copyright 2004-2008 Lennart Poettering
+ Copyright 2004-2009 Lennart Poettering
PulseAudio is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
@@ -48,16 +48,15 @@ PA_MODULE_USAGE(
"master=<name of sink to remap> "
"master_channel_map=<channel map> "
"format=<sample format> "
- "channels=<number of channels> "
"rate=<sample rate> "
+ "channels=<number of channels> "
"channel_map=<channel map> "
"remix=<remix channels?>");
struct userdata {
- pa_core *core;
pa_module *module;
- pa_sink *sink, *master;
+ pa_sink *sink;
pa_sink_input *sink_input;
};
@@ -80,19 +79,24 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
switch (code) {
- case PA_SINK_MESSAGE_GET_LATENCY: {
- pa_usec_t usec = 0;
+ case PA_SINK_MESSAGE_GET_LATENCY:
- /* Get the latency of the master sink */
- if (PA_MSGOBJECT(u->master)->process_msg(PA_MSGOBJECT(u->master), PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0)
- usec = 0;
+ /* The sink is _put() before the sink input is, so let's
+ * make sure we don't access it yet */
+ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) ||
+ !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) {
+ *((pa_usec_t*) data) = 0;
+ return 0;
+ }
- /* Add the latency internal to our sink input on top */
- usec += pa_bytes_to_usec(pa_memblockq_get_length(u->sink_input->thread_info.render_memblockq), &u->master->sample_spec);
+ *((pa_usec_t*) data) =
+ /* Get the latency of the master sink */
+ pa_sink_get_latency_within_thread(u->sink_input->sink) +
+
+ /* Add the latency internal to our sink input on top */
+ pa_bytes_to_usec(pa_memblockq_get_length(u->sink_input->thread_info.render_memblockq), &u->sink_input->sink->sample_spec);
- *((pa_usec_t*) data) = usec;
return 0;
- }
}
return pa_sink_process_msg(o, code, data, offset, chunk);
@@ -105,12 +109,11 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
pa_sink_assert_ref(s);
pa_assert_se(u = s->userdata);
- if (PA_SINK_IS_LINKED(state) &&
- u->sink_input &&
- PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(u->sink_input)))
-
- pa_sink_input_cork(u->sink_input, state == PA_SINK_SUSPENDED);
+ if (!PA_SINK_IS_LINKED(state) ||
+ !PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(u->sink_input)))
+ return 0;
+ pa_sink_input_cork(u->sink_input, state == PA_SINK_SUSPENDED);
return 0;
}
@@ -121,6 +124,10 @@ static void sink_request_rewind(pa_sink *s) {
pa_sink_assert_ref(s);
pa_assert_se(u = s->userdata);
+ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) ||
+ !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state))
+ return;
+
pa_sink_input_request_rewind(u->sink_input, s->thread_info.rewind_nbytes, TRUE, FALSE, FALSE);
}
@@ -131,6 +138,10 @@ static void sink_update_requested_latency(pa_sink *s) {
pa_sink_assert_ref(s);
pa_assert_se(u = s->userdata);
+ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) ||
+ !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state))
+ return;
+
/* Just hand this one over to the master sink */
pa_sink_input_set_requested_latency_within_thread(
u->sink_input,
@@ -145,8 +156,8 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk
pa_assert(chunk);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_OPENED(u->sink->thread_info.state))
- return -1;
+ /* Hmm, process any rewind request that might be queued up */
+ pa_sink_process_rewind(u->sink, 0);
pa_sink_render(u->sink, nbytes, chunk);
return 0;
@@ -160,9 +171,6 @@ static void sink_input_process_rewind_cb(pa_sink_input *i, size_t nbytes) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_OPENED(u->sink->thread_info.state))
- return;
-
if (u->sink->thread_info.rewind_nbytes > 0) {
amount = PA_MIN(u->sink->thread_info.rewind_nbytes, nbytes);
u->sink->thread_info.rewind_nbytes = 0;
@@ -178,9 +186,6 @@ static void sink_input_update_max_rewind_cb(pa_sink_input *i, size_t nbytes) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
-
pa_sink_set_max_rewind_within_thread(u->sink, nbytes);
}
@@ -191,9 +196,6 @@ static void sink_input_update_max_request_cb(pa_sink_input *i, size_t nbytes) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
-
pa_sink_set_max_request_within_thread(u->sink, nbytes);
}
@@ -204,24 +206,28 @@ static void sink_input_update_sink_latency_range_cb(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
-
pa_sink_set_latency_range_within_thread(u->sink, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency);
}
/* Called from I/O thread context */
-static void sink_input_detach_cb(pa_sink_input *i) {
+static void sink_input_update_sink_fixed_latency_cb(pa_sink_input *i) {
struct userdata *u;
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
+ pa_sink_set_fixed_latency_within_thread(u->sink, i->sink->thread_info.fixed_latency);
+}
+
+/* Called from I/O thread context */
+static void sink_input_detach_cb(pa_sink_input *i) {
+ struct userdata *u;
+
+ pa_sink_input_assert_ref(i);
+ pa_assert_se(u = i->userdata);
pa_sink_detach_within_thread(u->sink);
- pa_sink_set_asyncmsgq(u->sink, NULL);
+
pa_sink_set_rtpoll(u->sink, NULL);
}
@@ -232,14 +238,13 @@ static void sink_input_attach_cb(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state))
- return;
+ pa_sink_set_rtpoll(u->sink, i->sink->thread_info.rtpoll);
+ pa_sink_set_latency_range_within_thread(u->sink, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency);
+ pa_sink_set_fixed_latency_within_thread(u->sink, i->sink->thread_info.fixed_latency);
+ pa_sink_set_max_request_within_thread(u->sink, pa_sink_input_get_max_request(i));
+ pa_sink_set_max_rewind_within_thread(u->sink, pa_sink_input_get_max_rewind(i));
- pa_sink_set_asyncmsgq(u->sink, i->sink->asyncmsgq);
- pa_sink_set_rtpoll(u->sink, i->sink->rtpoll);
pa_sink_attach_within_thread(u->sink);
-
- pa_sink_set_latency_range_within_thread(u->sink, u->master->thread_info.min_latency, u->master->thread_info.max_latency);
}
/* Called from main context */
@@ -249,14 +254,18 @@ static void sink_input_kill_cb(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
pa_assert_se(u = i->userdata);
- pa_sink_unlink(u->sink);
+ /* The order here matters! We first kill the sink input, followed
+ * by the sink. That means the sink callbacks must be protected
+ * against an unconnected sink input! */
pa_sink_input_unlink(u->sink_input);
+ pa_sink_unlink(u->sink);
- pa_sink_unref(u->sink);
- u->sink = NULL;
pa_sink_input_unref(u->sink_input);
u->sink_input = NULL;
+ pa_sink_unref(u->sink);
+ u->sink = NULL;
+
pa_module_unload_request(u->module, TRUE);
}
@@ -286,6 +295,17 @@ static pa_bool_t sink_input_may_move_to_cb(pa_sink_input *i, pa_sink *dest) {
return u->sink != dest;
}
+/* Called from main context */
+static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {
+ struct userdata *u;
+
+ pa_sink_input_assert_ref(i);
+ pa_assert_se(u = i->userdata);
+
+ pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq);
+ pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags);
+}
+
int pa__init(pa_module*m) {
struct userdata *u;
pa_sample_spec ss;
@@ -336,12 +356,8 @@ int pa__init(pa_module*m) {
}
u = pa_xnew0(struct userdata, 1);
- u->core = m->core;
u->module = m;
m->userdata = u;
- u->master = master;
- u->sink = NULL;
- u->sink_input = NULL;
/* Create sink */
pa_sink_new_data_init(&sink_data);
@@ -362,7 +378,7 @@ int pa__init(pa_module*m) {
goto fail;
}
- u->sink = pa_sink_new(m->core, &sink_data, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY);
+ u->sink = pa_sink_new(m->core, &sink_data, master->flags & (PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY));
pa_sink_new_data_done(&sink_data);
if (!u->sink) {
@@ -377,19 +393,18 @@ int pa__init(pa_module*m) {
u->sink->userdata = u;
pa_sink_set_asyncmsgq(u->sink, master->asyncmsgq);
- pa_sink_set_rtpoll(u->sink, master->rtpoll);
/* Create sink input */
pa_sink_input_new_data_init(&sink_input_data);
sink_input_data.driver = __FILE__;
sink_input_data.module = m;
- sink_input_data.sink = u->master;
+ sink_input_data.sink = master;
pa_proplist_sets(sink_input_data.proplist, PA_PROP_MEDIA_NAME, "Remapped Stream");
pa_proplist_sets(sink_input_data.proplist, PA_PROP_MEDIA_ROLE, "filter");
pa_sink_input_new_data_set_sample_spec(&sink_input_data, &ss);
pa_sink_input_new_data_set_channel_map(&sink_input_data, &stream_map);
- pa_sink_input_new(&u->sink_input, m->core, &sink_input_data, PA_SINK_INPUT_DONT_MOVE | (remix ? 0 : PA_SINK_INPUT_NO_REMIX));
+ pa_sink_input_new(&u->sink_input, m->core, &sink_input_data, (remix ? 0 : PA_SINK_INPUT_NO_REMIX));
pa_sink_input_new_data_done(&sink_input_data);
if (!u->sink_input)
@@ -400,11 +415,13 @@ int pa__init(pa_module*m) {
u->sink_input->update_max_rewind = sink_input_update_max_rewind_cb;
u->sink_input->update_max_request = sink_input_update_max_request_cb;
u->sink_input->update_sink_latency_range = sink_input_update_sink_latency_range_cb;
+ u->sink_input->update_sink_fixed_latency = sink_input_update_sink_fixed_latency_cb;
u->sink_input->attach = sink_input_attach_cb;
u->sink_input->detach = sink_input_detach_cb;
u->sink_input->kill = sink_input_kill_cb;
u->sink_input->state_change = sink_input_state_change_cb;
u->sink_input->may_move_to = sink_input_may_move_to_cb;
+ u->sink_input->moving = sink_input_moving_cb;
u->sink_input->userdata = u;
pa_sink_put(u->sink);
@@ -440,15 +457,20 @@ void pa__done(pa_module*m) {
if (!(u = m->userdata))
return;
- if (u->sink) {
- pa_sink_unlink(u->sink);
- pa_sink_unref(u->sink);
- }
+ /* See comments in sink_input_kill_cb() above regarding
+ * destruction order! */
- if (u->sink_input) {
+ if (u->sink_input)
pa_sink_input_unlink(u->sink_input);
+
+ if (u->sink)
+ pa_sink_unlink(u->sink);
+
+ if (u->sink_input)
pa_sink_input_unref(u->sink_input);
- }
+
+ if (u->sink)
+ pa_sink_unref(u->sink);
pa_xfree(u);
}
diff --git a/src/modules/module-rescue-streams.c b/src/modules/module-rescue-streams.c
index c23feceb..722d84b2 100644
--- a/src/modules/module-rescue-streams.c
+++ b/src/modules/module-rescue-streams.c
@@ -45,13 +45,46 @@ static const char* const valid_modargs[] = {
};
struct userdata {
- pa_hook_slot *sink_slot, *source_slot;
+ pa_hook_slot
+ *sink_unlink_slot,
+ *source_unlink_slot,
+ *sink_input_move_fail_slot,
+ *source_output_move_fail_slot;
};
-static pa_hook_result_t sink_hook_callback(pa_core *c, pa_sink *sink, void* userdata) {
+static pa_sink* find_evacuation_sink(pa_core *c, pa_sink_input *i, pa_sink *skip) {
+ pa_sink *target, *def;
+ uint32_t idx;
+
+ pa_assert(c);
+ pa_assert(i);
+
+ def = pa_namereg_get_default_sink(c);
+
+ if (def && def != skip && pa_sink_input_may_move_to(i, def))
+ return def;
+
+ PA_IDXSET_FOREACH(target, c->sinks, idx) {
+ if (target == def)
+ continue;
+
+ if (target == skip)
+ continue;
+
+ if (!PA_SINK_IS_LINKED(pa_sink_get_state(target)))
+ continue;
+
+ if (pa_sink_input_may_move_to(i, target))
+ return target;
+ }
+
+ pa_log_debug("No evacuation sink found.");
+ return NULL;
+}
+
+static pa_hook_result_t sink_unlink_hook_callback(pa_core *c, pa_sink *sink, void* userdata) {
pa_sink_input *i;
uint32_t idx;
- pa_sink *target;
pa_assert(c);
pa_assert(sink);
@@ -65,21 +98,12 @@ static pa_hook_result_t sink_hook_callback(pa_core *c, pa_sink *sink, void* user
return PA_HOOK_OK;
}
- if (!(target = pa_namereg_get_default_sink(c)) || target == sink) {
-
- PA_IDXSET_FOREACH(target, c->sinks, idx)
- if (target != sink)
- break;
-
- if (!target) {
- pa_log_debug("No evacuation sink found.");
- return PA_HOOK_OK;
- }
- }
+ PA_IDXSET_FOREACH(i, sink->inputs, idx) {
+ pa_sink *target;
- pa_assert(target != sink);
+ if (!(target = find_evacuation_sink(c, i, sink)))
+ continue;
- PA_IDXSET_FOREACH(i, sink->inputs, idx) {
if (pa_sink_input_move_to(i, target, FALSE) < 0)
pa_log_info("Failed to move sink input %u \"%s\" to %s.", i->index,
pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name);
@@ -91,9 +115,66 @@ static pa_hook_result_t sink_hook_callback(pa_core *c, pa_sink *sink, void* user
return PA_HOOK_OK;
}
-static pa_hook_result_t source_hook_callback(pa_core *c, pa_source *source, void* userdata) {
+static pa_hook_result_t sink_input_move_fail_hook_callback(pa_core *c, pa_sink_input *i, void *userdata) {
+ pa_sink *target;
+
+ pa_assert(c);
+ pa_assert(i);
+
+ /* There's no point in doing anything if the core is shut down anyway */
+ if (c->state == PA_CORE_SHUTDOWN)
+ return PA_HOOK_OK;
+
+ if (!(target = find_evacuation_sink(c, i, NULL)))
+ return PA_HOOK_OK;
+
+ if (pa_sink_input_finish_move(i, target, FALSE) < 0) {
+ pa_log_info("Failed to move sink input %u \"%s\" to %s.", i->index,
+ pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name);
+ return PA_HOOK_OK;
+
+ } else {
+ pa_log_info("Sucessfully moved sink input %u \"%s\" to %s.", i->index,
+ pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name);
+ return PA_HOOK_STOP;
+ }
+}
+
+static pa_source* find_evacuation_source(pa_core *c, pa_source_output *o, pa_source *skip) {
+ pa_source *target, *def;
+ uint32_t idx;
+
+ pa_assert(c);
+ pa_assert(o);
+
+ def = pa_namereg_get_default_source(c);
+
+ if (def && def != skip && pa_source_output_may_move_to(o, def))
+ return def;
+
+ PA_IDXSET_FOREACH(target, c->sources, idx) {
+ if (target == def)
+ continue;
+
+ if (target == skip)
+ continue;
+
+ if (!target->monitor_of != !skip->monitor_of)
+ continue;
+
+ if (!PA_SOURCE_IS_LINKED(pa_source_get_state(target)))
+ continue;
+
+ if (pa_source_output_may_move_to(o, target))
+ return target;
+ }
+
+ pa_log_debug("No evacuation source found.");
+ return NULL;
+}
+
+static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *source, void* userdata) {
pa_source_output *o;
- pa_source *target;
uint32_t idx;
pa_assert(c);
@@ -108,21 +189,12 @@ static pa_hook_result_t source_hook_callback(pa_core *c, pa_source *source, void
return PA_HOOK_OK;
}
- if (!(target = pa_namereg_get_default_source(c)) || target == source) {
-
- PA_IDXSET_FOREACH(target, c->sources, idx)
- if (target != source && !target->monitor_of == !source->monitor_of)
- break;
-
- if (!target) {
- pa_log_info("No evacuation source found.");
- return PA_HOOK_OK;
- }
- }
+ PA_IDXSET_FOREACH(o, source->outputs, idx) {
+ pa_source *target;
- pa_assert(target != source);
+ if (!(target = find_evacuation_source(c, o, source)))
+ continue;
- PA_IDXSET_FOREACH(o, source->outputs, idx) {
if (pa_source_output_move_to(o, target, FALSE) < 0)
pa_log_info("Failed to move source output %u \"%s\" to %s.", o->index,
pa_strnull(pa_proplist_gets(o->proplist, PA_PROP_APPLICATION_NAME)), target->name);
@@ -134,6 +206,31 @@ static pa_hook_result_t source_hook_callback(pa_core *c, pa_source *source, void
return PA_HOOK_OK;
}
+static pa_hook_result_t source_output_move_fail_hook_callback(pa_core *c, pa_source_output *i, void *userdata) {
+ pa_source *target;
+
+ pa_assert(c);
+ pa_assert(i);
+
+ /* There's no point in doing anything if the core is shut down anyway */
+ if (c->state == PA_CORE_SHUTDOWN)
+ return PA_HOOK_OK;
+
+ if (!(target = find_evacuation_source(c, i, NULL)))
+ return PA_HOOK_OK;
+
+ if (pa_source_output_finish_move(i, target, FALSE) < 0) {
+ pa_log_info("Failed to move source input %u \"%s\" to %s.", i->index,
+ pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name);
+ return PA_HOOK_OK;
+
+ } else {
+ pa_log_info("Sucessfully moved source input %u \"%s\" to %s.", i->index,
+ pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name);
+ return PA_HOOK_STOP;
+ }
+}
+
int pa__init(pa_module*m) {
pa_modargs *ma;
struct userdata *u;
@@ -148,8 +245,11 @@ int pa__init(pa_module*m) {
m->userdata = u = pa_xnew(struct userdata, 1);
/* A little bit later than module-stream-restore, module-intended-roles... */
- u->sink_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SINK_UNLINK], PA_HOOK_LATE+20, (pa_hook_cb_t) sink_hook_callback, u);
- u->source_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SOURCE_UNLINK], PA_HOOK_LATE+20, (pa_hook_cb_t) source_hook_callback, u);
+ u->sink_unlink_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SINK_UNLINK], PA_HOOK_LATE+20, (pa_hook_cb_t) sink_unlink_hook_callback, u);
+ u->source_unlink_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SOURCE_UNLINK], PA_HOOK_LATE+20, (pa_hook_cb_t) source_unlink_hook_callback, u);
+
+ u->sink_input_move_fail_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SINK_INPUT_MOVE_FAIL], PA_HOOK_LATE+20, (pa_hook_cb_t) sink_input_move_fail_hook_callback, u);
+ u->source_output_move_fail_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_FAIL], PA_HOOK_LATE+20, (pa_hook_cb_t) source_output_move_fail_hook_callback, u);
pa_modargs_free(ma);
return 0;
@@ -163,10 +263,15 @@ void pa__done(pa_module*m) {
if (!(u = m->userdata))
return;
- if (u->sink_slot)
- pa_hook_slot_free(u->sink_slot);
- if (u->source_slot)
- pa_hook_slot_free(u->source_slot);
+ if (u->sink_unlink_slot)
+ pa_hook_slot_free(u->sink_unlink_slot);
+ if (u->source_unlink_slot)
+ pa_hook_slot_free(u->source_unlink_slot);
+
+ if (u->sink_input_move_fail_slot)
+ pa_hook_slot_free(u->sink_input_move_fail_slot);
+ if (u->source_output_move_fail_slot)
+ pa_hook_slot_free(u->source_output_move_fail_slot);
pa_xfree(u);
}
diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c
index e9063031..076b3918 100644
--- a/src/modules/module-stream-restore.c
+++ b/src/modules/module-stream-restore.c
@@ -114,15 +114,16 @@ struct userdata {
#endif
};
-#define ENTRY_VERSION 2
+#define ENTRY_VERSION 3
struct entry {
uint8_t version;
- pa_bool_t muted_valid:1, volume_valid:1, device_valid:1;
+ pa_bool_t muted_valid:1, volume_valid:1, device_valid:1, card_valid:1;
pa_bool_t muted:1;
pa_channel_map channel_map;
pa_cvolume volume;
char device[PA_NAME_MAX];
+ char card[PA_NAME_MAX];
} PA_GCC_PACKED;
enum {
@@ -1083,11 +1084,21 @@ static struct entry *read_entry(struct userdata *u, const char *name) {
goto fail;
}
+ if (!memchr(e->card, 0, sizeof(e->card))) {
+ pa_log_warn("Database contains entry for stream %s with missing NUL byte in card name", name);
+ goto fail;
+ }
+
if (e->device_valid && !pa_namereg_is_valid_name(e->device)) {
pa_log_warn("Invalid device name stored in database for stream %s", name);
goto fail;
}
+ if (e->card_valid && !pa_namereg_is_valid_name(e->card)) {
+ pa_log_warn("Invalid card name stored in database for stream %s", name);
+ goto fail;
+ }
+
if (e->volume_valid && !pa_channel_map_valid(&e->channel_map)) {
pa_log_warn("Invalid channel map stored in database for stream %s", name);
goto fail;
@@ -1139,6 +1150,10 @@ static pa_bool_t entries_equal(const struct entry *a, const struct entry *b) {
(a->device_valid && strncmp(a->device, b->device, sizeof(a->device))))
return FALSE;
+ if (a->card_valid != b->card_valid ||
+ (a->card_valid && strncmp(a->card, b->card, sizeof(a->card))))
+ return FALSE;
+
if (a->muted_valid != b->muted_valid ||
(a->muted_valid && (a->muted != b->muted)))
return FALSE;
@@ -1217,6 +1232,10 @@ static void subscribe_callback(pa_core *c, pa_subscription_event_type_t t, uint3
entry.device_valid = TRUE;
device_updated = !created_new_entry && (!old->device_valid || !pa_streq(entry.device, old->device));
+ if (sink_input->sink->card) {
+ pa_strlcpy(entry.card, sink_input->sink->card->name, sizeof(entry.card));
+ entry.card_valid = TRUE;
+ }
}
} else {
@@ -1240,6 +1259,11 @@ static void subscribe_callback(pa_core *c, pa_subscription_event_type_t t, uint3
entry.device_valid = source_output->save_source;
device_updated = !created_new_entry && (!old->device_valid || !pa_streq(entry.device, old->device));
+
+ if (source_output->source->card) {
+ pa_strlcpy(entry.card, source_output->source->card->name, sizeof(entry.card));
+ entry.card_valid = TRUE;
+ }
}
}
@@ -1298,19 +1322,28 @@ static pa_hook_result_t sink_input_new_hook_callback(pa_core *c, pa_sink_input_n
if (!(name = get_name(new_data->proplist, "sink-input")))
return PA_HOOK_OK;
- if ((e = read_entry(u, name))) {
+ if (new_data->sink)
+ pa_log_debug("Not restoring device for stream %s, because already set.", name);
+ else if ((e = read_entry(u, name))) {
+ pa_sink *s = NULL;
- if (e->device_valid) {
- pa_sink *s;
+ if (e->device_valid)
+ s = pa_namereg_get(c, e->device, PA_NAMEREG_SINK);
- if ((s = pa_namereg_get(c, e->device, PA_NAMEREG_SINK))) {
- if (!new_data->sink) {
- pa_log_info("Restoring device for stream %s.", name);
- new_data->sink = s;
- new_data->save_sink = TRUE;
- } else
- pa_log_debug("Not restoring device for stream %s, because already set.", name);
- }
+ if (!s && e->card_valid) {
+ pa_card *card;
+
+ if ((card = pa_namereg_get(c, e->card, PA_NAMEREG_CARD)))
+ s = pa_idxset_first(card->sinks, NULL);
+ }
+
+ /* It might happen that a stream and a sink are set up at the
+ same time, in which case we want to make sure we don't
+ interfere with that */
+ if (s && PA_SINK_IS_LINKED(pa_sink_get_state(s))) {
+ pa_log_info("Restoring device for stream %s.", name);
+ new_data->sink = s;
+ new_data->save_sink = TRUE;
}
pa_xfree(e);
@@ -1385,18 +1418,28 @@ static pa_hook_result_t source_output_new_hook_callback(pa_core *c, pa_source_ou
if (!(name = get_name(new_data->proplist, "source-output")))
return PA_HOOK_OK;
- if ((e = read_entry(u, name))) {
- pa_source *s;
+ if (new_data->source)
+ pa_log_debug("Not restoring device for stream %s, because already set", name);
+ else if ((e = read_entry(u, name))) {
+ pa_source *s = NULL;
- if (e->device_valid) {
- if ((s = pa_namereg_get(c, e->device, PA_NAMEREG_SOURCE))) {
- if (!new_data->source) {
- pa_log_info("Restoring device for stream %s.", name);
- new_data->source = s;
- new_data->save_source = TRUE;
- } else
- pa_log_debug("Not restoring device for stream %s, because already set", name);
- }
+ if (e->device_valid)
+ s = pa_namereg_get(c, e->device, PA_NAMEREG_SOURCE);
+
+ if (!s && e->card_valid) {
+ pa_card *card;
+
+ if ((card = pa_namereg_get(c, e->card, PA_NAMEREG_CARD)))
+ s = pa_idxset_first(card->sources, NULL);
+ }
+
+ /* It might happen that a stream and a sink are set up at the
+ same time, in which case we want to make sure we don't
+ interfere with that */
+ if (s && PA_SOURCE_IS_LINKED(pa_source_get_state(s))) {
+ pa_log_info("Restoring device for stream %s.", name);
+ new_data->source = s;
+ new_data->save_source = TRUE;
}
pa_xfree(e);
@@ -1426,6 +1469,17 @@ static pa_hook_result_t sink_put_hook_callback(pa_core *c, pa_sink *sink, struct
if (si->save_sink)
continue;
+ /* Skip this if it is already in the process of being moved
+ * anyway */
+ if (!si->sink)
+ continue;
+
+ /* It might happen that a stream and a sink are set up at the
+ same time, in which case we want to make sure we don't
+ interfere with that */
+ if (!PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(si)))
+ continue;
+
if (!(name = get_name(si->proplist, "sink-input")))
continue;
@@ -1464,6 +1518,16 @@ static pa_hook_result_t source_put_hook_callback(pa_core *c, pa_source *source,
if (so->direct_on_input)
continue;
+ /* Skip this if it is already in the process of being moved anyway */
+ if (!so->source)
+ continue;
+
+ /* It might happen that a stream and a sink are set up at the
+ same time, in which case we want to make sure we don't
+ interfere with that */
+ if (!PA_SOURCE_OUTPUT_IS_LINKED(pa_source_output_get_state(so)))
+ continue;
+
if (!(name = get_name(so->proplist, "source-input")))
continue;
@@ -1497,6 +1561,9 @@ static pa_hook_result_t sink_unlink_hook_callback(pa_core *c, pa_sink *sink, str
char *name;
struct entry *e;
+ if (!si->sink)
+ continue;
+
if (!(name = get_name(si->proplist, "sink-input")))
continue;
@@ -1505,7 +1572,9 @@ static pa_hook_result_t sink_unlink_hook_callback(pa_core *c, pa_sink *sink, str
if (e->device_valid) {
pa_sink *d;
- if ((d = pa_namereg_get(c, e->device, PA_NAMEREG_SINK)) && d != sink)
+ if ((d = pa_namereg_get(c, e->device, PA_NAMEREG_SINK)) &&
+ d != sink &&
+ PA_SINK_IS_LINKED(pa_sink_get_state(d)))
pa_sink_input_move_to(si, d, TRUE);
}
@@ -1535,6 +1604,12 @@ static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *sourc
char *name;
struct entry *e;
+ if (so->direct_on_input)
+ continue;
+
+ if (!so->source)
+ continue;
+
if (!(name = get_name(so->proplist, "source-output")))
continue;
@@ -1543,7 +1618,9 @@ static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *sourc
if (e->device_valid) {
pa_source *d;
- if ((d = pa_namereg_get(c, e->device, PA_NAMEREG_SOURCE)) && d != source)
+ if ((d = pa_namereg_get(c, e->device, PA_NAMEREG_SOURCE)) &&
+ d != source &&
+ PA_SOURCE_IS_LINKED(pa_source_get_state(d)))
pa_source_output_move_to(so, d, TRUE);
}
@@ -1567,7 +1644,7 @@ static void apply_entry(struct userdata *u, const char *name, struct entry *e) {
pa_assert(name);
pa_assert(e);
- for (si = pa_idxset_first(u->core->sink_inputs, &idx); si; si = pa_idxset_next(u->core->sink_inputs, &idx)) {
+ PA_IDXSET_FOREACH(si, u->core->sink_inputs, idx) {
char *n;
pa_sink *s;
@@ -1585,12 +1662,13 @@ static void apply_entry(struct userdata *u, const char *name, struct entry *e) {
v = e->volume;
pa_log_info("Restoring volume for sink input %s.", name);
- pa_sink_input_set_volume(si, pa_cvolume_remap(&v, &e->channel_map, &si->channel_map), FALSE, FALSE);
+ pa_cvolume_remap(&v, &e->channel_map, &si->channel_map);
+ pa_sink_input_set_volume(si, &v, TRUE, FALSE);
}
if (u->restore_muted && e->muted_valid) {
pa_log_info("Restoring mute state for sink input %s.", name);
- pa_sink_input_set_mute(si, e->muted, FALSE);
+ pa_sink_input_set_mute(si, e->muted, TRUE);
}
if (u->restore_device &&
@@ -1598,11 +1676,11 @@ static void apply_entry(struct userdata *u, const char *name, struct entry *e) {
(s = pa_namereg_get(u->core, e->device, PA_NAMEREG_SINK))) {
pa_log_info("Restoring device for stream %s.", name);
- pa_sink_input_move_to(si, s, FALSE);
+ pa_sink_input_move_to(si, s, TRUE);
}
}
- for (so = pa_idxset_first(u->core->source_outputs, &idx); so; so = pa_idxset_next(u->core->source_outputs, &idx)) {
+ PA_IDXSET_FOREACH(so, u->core->source_outputs, idx) {
char *n;
pa_source *s;
@@ -1620,7 +1698,7 @@ static void apply_entry(struct userdata *u, const char *name, struct entry *e) {
(s = pa_namereg_get(u->core, e->device, PA_NAMEREG_SOURCE))) {
pa_log_info("Restoring device for stream %s.", name);
- pa_source_output_move_to(so, s, FALSE);
+ pa_source_output_move_to(so, s, TRUE);
}
}
}
diff --git a/src/modules/module-tunnel.c b/src/modules/module-tunnel.c
index d1153829..eaccea4e 100644
--- a/src/modules/module-tunnel.c
+++ b/src/modules/module-tunnel.c
@@ -55,6 +55,7 @@
#include <pulsecore/core-error.h>
#include <pulsecore/proplist-util.h>
#include <pulsecore/auth-cookie.h>
+#include <pulsecore/mcalign.h>
#ifdef TUNNEL_SINK
#include "module-tunnel-sink-symdef.h"
@@ -194,6 +195,7 @@ struct userdata {
#else
char *source_name;
pa_source *source;
+ pa_mcalign *mcalign;
#endif
pa_auth_cookie *auth_cookie;
@@ -614,14 +616,23 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off
return 0;
}
- case SOURCE_MESSAGE_POST:
+ case SOURCE_MESSAGE_POST: {
+ pa_memchunk c;
- if (PA_SOURCE_IS_OPENED(u->source->thread_info.state))
- pa_source_post(u->source, chunk);
+ pa_mcalign_push(u->mcalign, chunk);
- u->counter += (int64_t) chunk->length;
+ while (pa_mcalign_pop(u->mcalign, &c) >= 0) {
+
+ if (PA_SOURCE_IS_OPENED(u->source->thread_info.state))
+ pa_source_post(u->source, &c);
+
+ pa_memblock_unref(c.memblock);
+
+ u->counter += (int64_t) c.length;
+ }
return 0;
+ }
case SOURCE_MESSAGE_REMOTE_SUSPEND:
@@ -1154,10 +1165,10 @@ static void sink_input_info_cb(pa_pdispatch *pd, uint32_t command, uint32_t tag
pa_cvolume_equal(&volume, &u->sink->virtual_volume))
return;
- pa_sink_volume_changed(u->sink, &volume, FALSE);
+ pa_sink_volume_changed(u->sink, &volume);
if (u->version >= 11)
- pa_sink_mute_changed(u->sink, mute, FALSE);
+ pa_sink_mute_changed(u->sink, mute);
return;
@@ -1937,6 +1948,8 @@ int pa__init(pa_module*m) {
pa_source_set_asyncmsgq(u->source, u->thread_mq.inq);
pa_source_set_rtpoll(u->source, u->rtpoll);
+
+ u->mcalign = pa_mcalign_new(pa_frame_size(&u->source->sample_spec));
#endif
pa_xfree(dn);
@@ -2030,6 +2043,11 @@ void pa__done(pa_module*m) {
if (u->time_event)
u->core->mainloop->time_free(u->time_event);
+#ifndef TUNNEL_SINK
+ if (u->mcalign)
+ pa_mcalign_free(u->mcalign);
+#endif
+
#ifdef TUNNEL_SINK
pa_xfree(u->sink_name);
#else
diff --git a/src/modules/module-udev-detect.c b/src/modules/module-udev-detect.c
index 1ad6fa2d..11de1ccb 100644
--- a/src/modules/module-udev-detect.c
+++ b/src/modules/module-udev-detect.c
@@ -65,6 +65,8 @@ static const char* const valid_modargs[] = {
NULL
};
+static int setup_inotify(struct userdata *u);
+
static void device_free(struct device *d) {
pa_assert(d);
@@ -117,6 +119,9 @@ static void card_changed(struct userdata *u, struct udev_device *dev) {
pa_assert(u);
pa_assert(dev);
+ /* Maybe /dev/snd is now available? */
+ setup_inotify(u);
+
path = udev_device_get_devpath(dev);
if ((d = pa_hashmap_get(u->devices, path))) {
@@ -262,7 +267,7 @@ static void inotify_cb(
} buf;
struct userdata *u = userdata;
static int type = 0;
- pa_bool_t verify = FALSE;
+ pa_bool_t verify = FALSE, deleted = FALSE;
for (;;) {
ssize_t r;
@@ -279,6 +284,9 @@ static void inotify_cb(
if ((buf.e.mask & IN_CLOSE_WRITE) && pa_startswith(buf.e.name, "pcmC"))
verify = TRUE;
+
+ if ((buf.e.mask & (IN_DELETE_SELF|IN_MOVE_SELF)))
+ deleted = TRUE;
}
if (verify) {
@@ -291,11 +299,14 @@ static void inotify_cb(
verify_access(u, d);
}
- return;
+ if (!deleted)
+ return;
fail:
- a->io_free(u->inotify_io);
- u->inotify_io = NULL;
+ if (u->inotify_io) {
+ a->io_free(u->inotify_io);
+ u->inotify_io = NULL;
+ }
if (u->inotify_fd >= 0) {
pa_close(u->inotify_fd);
@@ -307,17 +318,38 @@ static int setup_inotify(struct userdata *u) {
char *dev_snd;
int r;
+ if (u->inotify_fd >= 0)
+ return 0;
+
if ((u->inotify_fd = inotify_init1(IN_CLOEXEC|IN_NONBLOCK)) < 0) {
pa_log("inotify_init1() failed: %s", pa_cstrerror(errno));
return -1;
}
dev_snd = pa_sprintf_malloc("%s/snd", udev_get_dev_path(u->udev));
- r = inotify_add_watch(u->inotify_fd, dev_snd, IN_CLOSE_WRITE);
+ r = inotify_add_watch(u->inotify_fd, dev_snd, IN_CLOSE_WRITE|IN_DELETE_SELF|IN_MOVE_SELF);
pa_xfree(dev_snd);
if (r < 0) {
- pa_log("inotify_add_watch() failed: %s", pa_cstrerror(errno));
+ int saved_errno = errno;
+
+ pa_close(u->inotify_fd);
+ u->inotify_fd = -1;
+
+ if (saved_errno == ENOENT) {
+ pa_log_debug("/dev/snd/ is apparently not existing yet, retrying to create inotify watch later.");
+ return 0;
+ }
+
+ if (saved_errno == ENOSPC) {
+ pa_log("You apparently ran out of inotify watches, probably because Tracker/Beagle took them all away. "
+ "I wished people would do their homework first and fix inotify before using it for watching whole "
+ "directory trees which is something the current inotify is certainly not useful for. "
+ "Please make sure to drop the Tracker/Beagle guys a line complaining about their broken use of inotify.");
+ return 0;
+ }
+
+ pa_log("inotify_add_watch() failed: %s", pa_cstrerror(saved_errno));
return -1;
}
diff --git a/src/modules/module-volume-restore.c b/src/modules/module-volume-restore.c
index 91da598e..6e484eae 100644
--- a/src/modules/module-volume-restore.c
+++ b/src/modules/module-volume-restore.c
@@ -48,6 +48,7 @@ static const char* const valid_modargs[] = {
int pa__init(pa_module*m) {
pa_modargs *ma = NULL;
pa_bool_t restore_device = TRUE, restore_volume = TRUE;
+ pa_module *n;
char *t;
pa_assert(m);
@@ -66,13 +67,15 @@ int pa__init(pa_module*m) {
pa_log_warn("We will now load module-stream-restore. Please make sure to remove module-volume-restore from your configuration.");
t = pa_sprintf_malloc("restore_volume=%s restore_device=%s", pa_yes_no(restore_volume), pa_yes_no(restore_device));
- pa_module_load(m->core, "module-stream-restore", t);
+ n = pa_module_load(m->core, "module-stream-restore", t);
pa_xfree(t);
- pa_module_unload_request(m, TRUE);
+ if (n)
+ pa_module_unload_request(m, TRUE);
pa_modargs_free(ma);
- return 0;
+
+ return n ? 0 : -1;
fail:
if (ma)
diff --git a/src/modules/reserve-monitor.c b/src/modules/reserve-monitor.c
index 64d2a7cc..13ecde2b 100644
--- a/src/modules/reserve-monitor.c
+++ b/src/modules/reserve-monitor.c
@@ -1,3 +1,5 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/
+
/***
Copyright 2009 Lennart Poettering
@@ -76,9 +78,17 @@ static DBusHandlerResult filter_handler(
goto invalid;
if (strcmp(name, m->service_name) == 0) {
-
m->busy = !!(new && *new);
+ /* If we ourselves own the device, then don't consider this 'busy' */
+ if (m->busy) {
+ const char *un;
+
+ if ((un = dbus_bus_get_unique_name(c)))
+ if (strcmp(new, un) == 0)
+ m->busy = FALSE;
+ }
+
if (m->change_cb) {
m->ref++;
m->change_cb(m);
diff --git a/src/modules/reserve-monitor.h b/src/modules/reserve-monitor.h
index 4f4a8332..421a52e0 100644
--- a/src/modules/reserve-monitor.h
+++ b/src/modules/reserve-monitor.h
@@ -1,3 +1,5 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/
+
#ifndef fooreservemonitorhfoo
#define fooreservemonitorhfoo
@@ -28,6 +30,10 @@
#include <dbus/dbus.h>
#include <inttypes.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef struct rm_monitor rm_monitor;
/* Prototype for a function that is called whenever the reservation
@@ -59,4 +65,8 @@ void rm_set_userdata(rm_monitor *m, void *userdata);
* userdata was set. */
void* rm_get_userdata(rm_monitor *m);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/modules/reserve-wrap.c b/src/modules/reserve-wrap.c
index 07b592d3..6086fc99 100644
--- a/src/modules/reserve-wrap.c
+++ b/src/modules/reserve-wrap.c
@@ -336,5 +336,9 @@ pa_bool_t pa_reserve_monitor_wrapper_busy(pa_reserve_monitor_wrapper *w) {
pa_assert(PA_REFCNT_VALUE(w) >= 1);
+#ifdef HAVE_DBUS
return rm_busy(w->monitor) > 0;
+#else
+ return FALSE;
+#endif
}
diff --git a/src/modules/reserve.c b/src/modules/reserve.c
index 09bc46cb..5597f177 100644
--- a/src/modules/reserve.c
+++ b/src/modules/reserve.c
@@ -1,3 +1,5 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/
+
/***
Copyright 2009 Lennart Poettering
diff --git a/src/modules/reserve.h b/src/modules/reserve.h
index 31071298..9ae49cf5 100644
--- a/src/modules/reserve.h
+++ b/src/modules/reserve.h
@@ -1,3 +1,5 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/
+
#ifndef fooreservehfoo
#define fooreservehfoo
@@ -28,6 +30,10 @@
#include <dbus/dbus.h>
#include <inttypes.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef struct rd_device rd_device;
/* Prototype for a function that is called whenever someone else wants
@@ -66,4 +72,8 @@ void rd_set_userdata(rd_device *d, void *userdata);
* userdata was set. */
void* rd_get_userdata(rd_device *d);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/modules/rtp/module-rtp-recv.c b/src/modules/rtp/module-rtp-recv.c
index 5caf8272..c195c045 100644
--- a/src/modules/rtp/module-rtp-recv.c
+++ b/src/modules/rtp/module-rtp-recv.c
@@ -361,7 +361,7 @@ static void sink_input_attach(pa_sink_input *i) {
pa_assert_se(s = i->userdata);
pa_assert(!s->rtpoll_item);
- s->rtpoll_item = pa_rtpoll_item_new(i->sink->rtpoll, PA_RTPOLL_LATE, 1);
+ s->rtpoll_item = pa_rtpoll_item_new(i->sink->thread_info.rtpoll, PA_RTPOLL_LATE, 1);
p = pa_rtpoll_item_get_pollfd(s->rtpoll_item, NULL);
p->fd = s->rtp_context.fd;
diff --git a/src/pulse/client-conf.c b/src/pulse/client-conf.c
index 8eab1094..62c06f6a 100644
--- a/src/pulse/client-conf.c
+++ b/src/pulse/client-conf.c
@@ -94,17 +94,18 @@ int pa_client_conf_load(pa_client_conf *c, const char *filename) {
/* Prepare the configuration parse table */
pa_config_item table[] = {
- { "daemon-binary", pa_config_parse_string, &c->daemon_binary, NULL },
- { "extra-arguments", pa_config_parse_string, &c->extra_arguments, NULL },
- { "default-sink", pa_config_parse_string, &c->default_sink, NULL },
- { "default-source", pa_config_parse_string, &c->default_source, NULL },
- { "default-server", pa_config_parse_string, &c->default_server, NULL },
- { "default-dbus-server", pa_config_parse_string, &c->default_dbus_server, NULL },
- { "autospawn", pa_config_parse_bool, &c->autospawn, NULL },
- { "cookie-file", pa_config_parse_string, &c->cookie_file, NULL },
- { "disable-shm", pa_config_parse_bool, &c->disable_shm, NULL },
- { "shm-size-bytes", pa_config_parse_size, &c->shm_size, NULL },
- { NULL, NULL, NULL, NULL },
+ { "daemon-binary", pa_config_parse_string, &c->daemon_binary, NULL },
+ { "extra-arguments", pa_config_parse_string, &c->extra_arguments, NULL },
+ { "default-sink", pa_config_parse_string, &c->default_sink, NULL },
+ { "default-source", pa_config_parse_string, &c->default_source, NULL },
+ { "default-server", pa_config_parse_string, &c->default_server, NULL },
+ { "default-dbus-server", pa_config_parse_string, &c->default_dbus_server, NULL },
+ { "autospawn", pa_config_parse_bool, &c->autospawn, NULL },
+ { "cookie-file", pa_config_parse_string, &c->cookie_file, NULL },
+ { "disable-shm", pa_config_parse_bool, &c->disable_shm, NULL },
+ { "enable-shm", pa_config_parse_not_bool, &c->disable_shm, NULL },
+ { "shm-size-bytes", pa_config_parse_size, &c->shm_size, NULL },
+ { NULL, NULL, NULL, NULL },
};
if (filename) {
diff --git a/src/pulse/client.conf.in b/src/pulse/client.conf.in
index 3340b0b2..e03096e0 100644
--- a/src/pulse/client.conf.in
+++ b/src/pulse/client.conf.in
@@ -30,5 +30,5 @@
; cookie-file =
-; disable-shm = no
+; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
diff --git a/src/pulse/context.c b/src/pulse/context.c
index 505e758a..894ab2e0 100644
--- a/src/pulse/context.c
+++ b/src/pulse/context.c
@@ -668,11 +668,24 @@ static pa_strlist *prepend_per_user(pa_strlist *l) {
static int context_autospawn(pa_context *c) {
pid_t pid;
int status, r;
-
- pa_log_debug("Trying to autospawn...");
+ struct sigaction sa;
pa_context_ref(c);
+ if (sigaction(SIGCHLD, NULL, &sa) < 0) {
+ pa_log_debug("sigaction() failed: %s", pa_cstrerror(errno));
+ pa_context_fail(c, PA_ERR_INTERNAL);
+ goto fail;
+ }
+
+ if ((sa.sa_flags & SA_NOCLDWAIT) || sa.sa_handler == SIG_IGN) {
+ pa_log_debug("Process disabled waitpid(), cannot autospawn.");
+ pa_context_fail(c, PA_ERR_CONNECTIONREFUSED);
+ goto fail;
+ }
+
+ pa_log_debug("Trying to autospawn...");
+
if (c->spawn_api.prefork)
c->spawn_api.prefork();
@@ -688,23 +701,23 @@ static int context_autospawn(pa_context *c) {
/* Child */
const char *state = NULL;
-#define MAX_ARGS 64
- const char * argv[MAX_ARGS+1];
- int n;
+ const char * argv[32];
+ unsigned n = 0;
if (c->spawn_api.atfork)
c->spawn_api.atfork();
+ /* We leave most of the cleaning up of the process environment
+ * to the executable. We only clean up the file descriptors to
+ * make sure the executable can actually be loaded
+ * correctly. */
pa_close_all(-1);
/* Setup argv */
-
- n = 0;
-
argv[n++] = c->conf->daemon_binary;
argv[n++] = "--start";
- while (n < MAX_ARGS) {
+ while (n < PA_ELEMENTSOF(argv)-1) {
char *a;
if (!(a = pa_split_spaces(c->conf->extra_arguments, &state)))
@@ -714,10 +727,10 @@ static int context_autospawn(pa_context *c) {
}
argv[n++] = NULL;
+ pa_assert(n <= PA_ELEMENTSOF(argv));
execv(argv[0], (char * const *) argv);
_exit(1);
-#undef MAX_ARGS
}
/* Parent */
@@ -730,9 +743,16 @@ static int context_autospawn(pa_context *c) {
} while (r < 0 && errno == EINTR);
if (r < 0) {
- pa_log(_("waitpid(): %s"), pa_cstrerror(errno));
- pa_context_fail(c, PA_ERR_INTERNAL);
- goto fail;
+
+ if (errno != ESRCH) {
+ pa_log(_("waitpid(): %s"), pa_cstrerror(errno));
+ pa_context_fail(c, PA_ERR_INTERNAL);
+ goto fail;
+ }
+
+ /* hmm, something already reaped our child, so we assume
+ * startup worked, even if we cannot know */
+
} else if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) {
pa_context_fail(c, PA_ERR_CONNECTIONREFUSED);
goto fail;
@@ -761,22 +781,33 @@ static void track_pulseaudio_on_dbus(pa_context *c, DBusBusType type, pa_dbus_wr
pa_assert(conn);
dbus_error_init(&error);
+
if (!(*conn = pa_dbus_wrap_connection_new(c->mainloop, c->use_rtclock, type, &error)) || dbus_error_is_set(&error)) {
pa_log_warn("Unable to contact DBUS: %s: %s", error.name, error.message);
- goto finish;
+ goto fail;
}
if (!dbus_connection_add_filter(pa_dbus_wrap_connection_get(*conn), filter_cb, c, NULL)) {
pa_log_warn("Failed to add filter function");
- goto finish;
+ goto fail;
}
if (pa_dbus_add_matches(
pa_dbus_wrap_connection_get(*conn), &error,
- "type='signal',sender='" DBUS_SERVICE_DBUS "',interface='" DBUS_INTERFACE_DBUS "',member='NameOwnerChanged',arg0='org.pulseaudio.Server',arg1=''", NULL) < 0)
+ "type='signal',sender='" DBUS_SERVICE_DBUS "',interface='" DBUS_INTERFACE_DBUS "',member='NameOwnerChanged',arg0='org.pulseaudio.Server',arg1=''", NULL) < 0) {
+
pa_log_warn("Unable to track org.pulseaudio.Server: %s: %s", error.name, error.message);
+ goto fail;
+ }
+
+ return;
+
+fail:
+ if (*conn) {
+ pa_dbus_wrap_connection_free(*conn);
+ *conn = NULL;
+ }
- finish:
dbus_error_free(&error);
}
#endif
@@ -861,7 +892,7 @@ static void on_connection(pa_socket_client *client, pa_iochannel*io, void *userd
c->client = NULL;
if (!io) {
- /* Try the item in the list */
+ /* Try the next item in the list */
if (saved_errno == ECONNREFUSED ||
saved_errno == ETIMEDOUT ||
saved_errno == EHOSTUNREACH) {
@@ -897,7 +928,7 @@ static DBusHandlerResult filter_cb(DBusConnection *bus, DBusMessage *message, vo
/* FIXME: We probably should check if this is actually the NameOwnerChanged we were looking for */
is_session = c->session_bus && bus == pa_dbus_wrap_connection_get(c->session_bus);
- pa_log_debug("Rock!! PulseAudio is back on %s bus", is_session ? "session" : "system");
+ pa_log_debug("Rock!! PulseAudio might be back on %s bus", is_session ? "session" : "system");
if (is_session)
/* The user instance via PF_LOCAL */
@@ -937,7 +968,7 @@ int pa_context_connect(
pa_context_ref(c);
- c->no_fail = flags & PA_CONTEXT_NOFAIL;
+ c->no_fail = !!(flags & PA_CONTEXT_NOFAIL);
c->server_specified = !!server;
pa_assert(!c->server_list);
@@ -954,10 +985,7 @@ int pa_context_connect(
/* Follow the X display */
if ((d = getenv("DISPLAY"))) {
- char *e;
- d = pa_xstrdup(d);
- if ((e = strchr(d, ':')))
- *e = 0;
+ d = pa_xstrndup(d, strcspn(d, ":"));
if (*d)
c->server_list = pa_strlist_prepend(c->server_list, d);
diff --git a/src/pulse/internal.h b/src/pulse/internal.h
index ec2da85b..e069c9e9 100644
--- a/src/pulse/internal.h
+++ b/src/pulse/internal.h
@@ -151,6 +151,11 @@ struct pa_stream {
uint32_t device_index;
char *device_name;
+ /* playback */
+ pa_memblock *write_memblock;
+ void *write_data;
+
+ /* recording */
pa_memchunk peek_memchunk;
void *peek_data;
pa_memblockq *record_memblockq;
diff --git a/src/pulse/introspect.c b/src/pulse/introspect.c
index ab67f596..27a587cb 100644
--- a/src/pulse/introspect.c
+++ b/src/pulse/introspect.c
@@ -201,42 +201,44 @@ static void context_get_sink_info_callback(pa_pdispatch *pd, uint32_t command, u
goto finish;
}
- if (i.n_ports > 0) {
- i.ports = pa_xnew(pa_sink_port_info*, i.n_ports+1);
- i.ports[0] = pa_xnew(pa_sink_port_info, i.n_ports);
-
- for (j = 0; j < i.n_ports; j++) {
- if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 ||
- pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 ||
- pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) {
-
- pa_context_fail(o->context, PA_ERR_PROTOCOL);
- pa_xfree(i.ports);
- pa_xfree(i.ports[0]);
- pa_proplist_free(i.proplist);
- goto finish;
+ if (o->context->version >= 16) {
+ if (i.n_ports > 0) {
+ i.ports = pa_xnew(pa_sink_port_info*, i.n_ports+1);
+ i.ports[0] = pa_xnew(pa_sink_port_info, i.n_ports);
+
+ for (j = 0; j < i.n_ports; j++) {
+ if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 ||
+ pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 ||
+ pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) {
+
+ pa_context_fail(o->context, PA_ERR_PROTOCOL);
+ pa_xfree(i.ports[0]);
+ pa_xfree(i.ports);
+ pa_proplist_free(i.proplist);
+ goto finish;
+ }
+
+ i.ports[j] = &i.ports[0][j];
}
- i.ports[j] = &i.ports[0][j];
+ i.ports[j] = NULL;
}
- i.ports[j] = NULL;
- }
-
- if (pa_tagstruct_gets(t, &ap) < 0) {
- pa_context_fail(o->context, PA_ERR_PROTOCOL);
- pa_xfree(i.ports[0]);
- pa_xfree(i.ports);
- pa_proplist_free(i.proplist);
- goto finish;
- }
+ if (pa_tagstruct_gets(t, &ap) < 0) {
+ pa_context_fail(o->context, PA_ERR_PROTOCOL);
+ pa_xfree(i.ports[0]);
+ pa_xfree(i.ports);
+ pa_proplist_free(i.proplist);
+ goto finish;
+ }
- if (ap) {
- for (j = 0; j < i.n_ports; j++)
- if (pa_streq(i.ports[j]->name, ap)) {
- i.active_port = i.ports[j];
- break;
- }
+ if (ap) {
+ for (j = 0; j < i.n_ports; j++)
+ if (pa_streq(i.ports[j]->name, ap)) {
+ i.active_port = i.ports[j];
+ break;
+ }
+ }
}
i.mute = (int) mute;
@@ -248,6 +250,10 @@ static void context_get_sink_info_callback(pa_pdispatch *pd, uint32_t command, u
cb(o->context, &i, 0, o->userdata);
}
+ if (i.ports) {
+ pa_xfree(i.ports[0]);
+ pa_xfree(i.ports);
+ }
pa_proplist_free(i.proplist);
}
}
@@ -428,42 +434,44 @@ static void context_get_source_info_callback(pa_pdispatch *pd, uint32_t command,
goto finish;
}
- if (i.n_ports > 0) {
- i.ports = pa_xnew(pa_source_port_info*, i.n_ports+1);
- i.ports[0] = pa_xnew(pa_source_port_info, i.n_ports);
+ if (o->context->version >= 16) {
+ if (i.n_ports > 0) {
+ i.ports = pa_xnew(pa_source_port_info*, i.n_ports+1);
+ i.ports[0] = pa_xnew(pa_source_port_info, i.n_ports);
- for (j = 0; j < i.n_ports; j++) {
- if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 ||
- pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 ||
- pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) {
+ for (j = 0; j < i.n_ports; j++) {
+ if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 ||
+ pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 ||
+ pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) {
- pa_context_fail(o->context, PA_ERR_PROTOCOL);
- pa_xfree(i.ports[0]);
- pa_xfree(i.ports);
- pa_proplist_free(i.proplist);
- goto finish;
+ pa_context_fail(o->context, PA_ERR_PROTOCOL);
+ pa_xfree(i.ports[0]);
+ pa_xfree(i.ports);
+ pa_proplist_free(i.proplist);
+ goto finish;
+ }
+
+ i.ports[j] = &i.ports[0][j];
}
- i.ports[j] = &i.ports[0][j];
+ i.ports[j] = NULL;
}
- i.ports[j] = NULL;
- }
-
- if (pa_tagstruct_gets(t, &ap) < 0) {
- pa_context_fail(o->context, PA_ERR_PROTOCOL);
- pa_xfree(i.ports[0]);
- pa_xfree(i.ports);
- pa_proplist_free(i.proplist);
- goto finish;
- }
+ if (pa_tagstruct_gets(t, &ap) < 0) {
+ pa_context_fail(o->context, PA_ERR_PROTOCOL);
+ pa_xfree(i.ports[0]);
+ pa_xfree(i.ports);
+ pa_proplist_free(i.proplist);
+ goto finish;
+ }
- if (ap) {
- for (j = 0; j < i.n_ports; j++)
- if (pa_streq(i.ports[j]->name, ap)) {
- i.active_port = i.ports[j];
- break;
- }
+ if (ap) {
+ for (j = 0; j < i.n_ports; j++)
+ if (pa_streq(i.ports[j]->name, ap)) {
+ i.active_port = i.ports[j];
+ break;
+ }
+ }
}
i.mute = (int) mute;
@@ -475,6 +483,10 @@ static void context_get_source_info_callback(pa_pdispatch *pd, uint32_t command,
cb(o->context, &i, 0, o->userdata);
}
+ if (i.ports) {
+ pa_xfree(i.ports[0]);
+ pa_xfree(i.ports);
+ }
pa_proplist_free(i.proplist);
}
}
diff --git a/src/pulse/mainloop.c b/src/pulse/mainloop.c
index c418d108..93a4742d 100644
--- a/src/pulse/mainloop.c
+++ b/src/pulse/mainloop.c
@@ -765,23 +765,22 @@ static pa_time_event* find_next_time_event(pa_mainloop *m) {
static int calc_next_timeout(pa_mainloop *m) {
pa_time_event *t;
- pa_usec_t usec;
+ pa_usec_t clock_now;
if (!m->n_enabled_time_events)
return -1;
- t = find_next_time_event(m);
- pa_assert(t);
+ pa_assert_se(t = find_next_time_event(m));
- if (t->time == 0)
+ if (t->time <= 0)
return 0;
- usec = t->time - pa_rtclock_now();
+ clock_now = pa_rtclock_now();
- if (usec <= 0)
+ if (t->time <= clock_now)
return 0;
- return (int) (usec / 1000); /* in milliseconds */
+ return (int) ((t->time - clock_now) / 1000); /* in milliseconds */
}
static int dispatch_timeout(pa_mainloop *m) {
diff --git a/src/pulse/operation.h b/src/pulse/operation.h
index 7b0dabdd..b6b5691d 100644
--- a/src/pulse/operation.h
+++ b/src/pulse/operation.h
@@ -40,7 +40,11 @@ pa_operation *pa_operation_ref(pa_operation *o);
/** Decrease the reference count by one */
void pa_operation_unref(pa_operation *o);
-/** Cancel the operation. Beware! This will not necessarily cancel the execution of the operation on the server side. */
+/** Cancel the operation. Beware! This will not necessarily cancel the
+ * execution of the operation on the server side. However it will make
+ * sure that the callback associated with this operation will not be
+ * called anymore, effectively disabling the operation from the client
+ * side's view. */
void pa_operation_cancel(pa_operation *o);
/** Return the current status of the operation */
diff --git a/src/pulse/simple.c b/src/pulse/simple.c
index f4481fc3..9ed7a653 100644
--- a/src/pulse/simple.c
+++ b/src/pulse/simple.c
@@ -70,8 +70,8 @@ struct pa_simple {
#define CHECK_DEAD_GOTO(p, rerror, label) \
do { \
- if (!(p)->context || pa_context_get_state((p)->context) != PA_CONTEXT_READY || \
- !(p)->stream || pa_stream_get_state((p)->stream) != PA_STREAM_READY) { \
+ if (!(p)->context || !PA_CONTEXT_IS_GOOD(pa_context_get_state((p)->context)) || \
+ !(p)->stream || !PA_STREAM_IS_GOOD(pa_stream_get_state((p)->stream))) { \
if (((p)->context && pa_context_get_state((p)->context) == PA_CONTEXT_FAILED) || \
((p)->stream && pa_stream_get_state((p)->stream) == PA_STREAM_FAILED)) { \
if (rerror) \
@@ -157,12 +157,8 @@ pa_simple* pa_simple_new(
CHECK_VALIDITY_RETURN_ANY(rerror, ss && pa_sample_spec_valid(ss), PA_ERR_INVALID, NULL);
CHECK_VALIDITY_RETURN_ANY(rerror, !map || (pa_channel_map_valid(map) && map->channels == ss->channels), PA_ERR_INVALID, NULL)
- p = pa_xnew(pa_simple, 1);
- p->context = NULL;
- p->stream = NULL;
+ p = pa_xnew0(pa_simple, 1);
p->direction = dir;
- p->read_data = NULL;
- p->read_index = p->read_length = 0;
if (!(p->mainloop = pa_threaded_mainloop_new()))
goto fail;
@@ -182,12 +178,21 @@ pa_simple* pa_simple_new(
if (pa_threaded_mainloop_start(p->mainloop) < 0)
goto unlock_and_fail;
- /* Wait until the context is ready */
- pa_threaded_mainloop_wait(p->mainloop);
+ for (;;) {
+ pa_context_state_t state;
- if (pa_context_get_state(p->context) != PA_CONTEXT_READY) {
- error = pa_context_errno(p->context);
- goto unlock_and_fail;
+ state = pa_context_get_state(p->context);
+
+ if (state == PA_CONTEXT_READY)
+ break;
+
+ if (!PA_CONTEXT_IS_GOOD(state)) {
+ error = pa_context_errno(p->context);
+ goto unlock_and_fail;
+ }
+
+ /* Wait until the context is ready */
+ pa_threaded_mainloop_wait(p->mainloop);
}
if (!(p->stream = pa_stream_new(p->context, stream_name, ss, map))) {
@@ -216,13 +221,21 @@ pa_simple* pa_simple_new(
goto unlock_and_fail;
}
- /* Wait until the stream is ready */
- pa_threaded_mainloop_wait(p->mainloop);
+ for (;;) {
+ pa_stream_state_t state;
- /* Wait until the stream is ready */
- if (pa_stream_get_state(p->stream) != PA_STREAM_READY) {
- error = pa_context_errno(p->context);
- goto unlock_and_fail;
+ state = pa_stream_get_state(p->stream);
+
+ if (state == PA_STREAM_READY)
+ break;
+
+ if (!PA_STREAM_IS_GOOD(state)) {
+ error = pa_context_errno(p->context);
+ goto unlock_and_fail;
+ }
+
+ /* Wait until the stream is ready */
+ pa_threaded_mainloop_wait(p->mainloop);
}
pa_threaded_mainloop_unlock(p->mainloop);
@@ -248,8 +261,10 @@ void pa_simple_free(pa_simple *s) {
if (s->stream)
pa_stream_unref(s->stream);
- if (s->context)
+ if (s->context) {
+ pa_context_disconnect(s->context);
pa_context_unref(s->context);
+ }
if (s->mainloop)
pa_threaded_mainloop_free(s->mainloop);
@@ -261,7 +276,8 @@ int pa_simple_write(pa_simple *p, const void*data, size_t length, int *rerror) {
pa_assert(p);
CHECK_VALIDITY_RETURN_ANY(rerror, p->direction == PA_STREAM_PLAYBACK, PA_ERR_BADSTATE, -1);
- CHECK_VALIDITY_RETURN_ANY(rerror, data && length, PA_ERR_INVALID, -1);
+ CHECK_VALIDITY_RETURN_ANY(rerror, data, PA_ERR_INVALID, -1);
+ CHECK_VALIDITY_RETURN_ANY(rerror, length > 0, PA_ERR_INVALID, -1);
pa_threaded_mainloop_lock(p->mainloop);
@@ -300,7 +316,8 @@ int pa_simple_read(pa_simple *p, void*data, size_t length, int *rerror) {
pa_assert(p);
CHECK_VALIDITY_RETURN_ANY(rerror, p->direction == PA_STREAM_RECORD, PA_ERR_BADSTATE, -1);
- CHECK_VALIDITY_RETURN_ANY(rerror, data && length, PA_ERR_INVALID, -1);
+ CHECK_VALIDITY_RETURN_ANY(rerror, data, PA_ERR_INVALID, -1);
+ CHECK_VALIDITY_RETURN_ANY(rerror, length > 0, PA_ERR_INVALID, -1);
pa_threaded_mainloop_lock(p->mainloop);
@@ -375,7 +392,7 @@ int pa_simple_drain(pa_simple *p, int *rerror) {
CHECK_SUCCESS_GOTO(p, rerror, o, unlock_and_fail);
p->operation_success = 0;
- while (pa_operation_get_state(o) != PA_OPERATION_DONE) {
+ while (pa_operation_get_state(o) == PA_OPERATION_RUNNING) {
pa_threaded_mainloop_wait(p->mainloop);
CHECK_DEAD_GOTO(p, rerror, unlock_and_fail);
}
@@ -411,7 +428,7 @@ int pa_simple_flush(pa_simple *p, int *rerror) {
CHECK_SUCCESS_GOTO(p, rerror, o, unlock_and_fail);
p->operation_success = 0;
- while (pa_operation_get_state(o) != PA_OPERATION_DONE) {
+ while (pa_operation_get_state(o) == PA_OPERATION_RUNNING) {
pa_threaded_mainloop_wait(p->mainloop);
CHECK_DEAD_GOTO(p, rerror, unlock_and_fail);
}
diff --git a/src/pulse/stream.c b/src/pulse/stream.c
index 40556329..2bc2b1e4 100644
--- a/src/pulse/stream.c
+++ b/src/pulse/stream.c
@@ -144,12 +144,13 @@ pa_stream *pa_stream_new_with_proplist(
s->suspended = FALSE;
s->corked = FALSE;
+ s->write_memblock = NULL;
+ s->write_data = NULL;
+
pa_memchunk_reset(&s->peek_memchunk);
s->peek_data = NULL;
-
s->record_memblockq = NULL;
-
memset(&s->timing_info, 0, sizeof(s->timing_info));
s->timing_info_valid = FALSE;
@@ -221,6 +222,11 @@ static void stream_free(pa_stream *s) {
stream_unlink(s);
+ if (s->write_memblock) {
+ pa_memblock_release(s->write_memblock);
+ pa_memblock_unref(s->write_data);
+ }
+
if (s->peek_memchunk.memblock) {
if (s->peek_data)
pa_memblock_release(s->peek_memchunk.memblock);
@@ -821,7 +827,7 @@ static void create_stream_complete(pa_stream *s) {
if (s->flags & PA_STREAM_AUTO_TIMING_UPDATE) {
s->auto_timing_interval_usec = AUTO_TIMING_INTERVAL_START_USEC;
pa_assert(!s->auto_timing_update_event);
- s->auto_timing_update_event = pa_context_rttime_new(s->context, pa_rtclock_now() + s->auto_timing_interval_usec, &auto_timing_update_callback, s);
+ s->auto_timing_update_event = pa_context_rttime_new(s->context, pa_rtclock_now() + s->auto_timing_interval_usec, &auto_timing_update_callback, s);
request_auto_timing_update(s, TRUE);
}
@@ -861,7 +867,7 @@ static void automatic_buffer_attr(pa_stream *s, pa_buffer_attr *attr, const pa_s
void pa_create_stream_callback(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata) {
pa_stream *s = userdata;
- uint32_t requested_bytes;
+ uint32_t requested_bytes = 0;
pa_assert(pd);
pa_assert(s);
@@ -1166,7 +1172,7 @@ int pa_stream_connect_playback(
const char *dev,
const pa_buffer_attr *attr,
pa_stream_flags_t flags,
- pa_cvolume *volume,
+ const pa_cvolume *volume,
pa_stream *sync_stream) {
pa_assert(s);
@@ -1187,20 +1193,71 @@ int pa_stream_connect_record(
return create_stream(PA_STREAM_RECORD, s, dev, attr, flags, NULL, NULL);
}
+int pa_stream_begin_write(
+ pa_stream *s,
+ void **data,
+ size_t *nbytes) {
+
+ pa_assert(s);
+ pa_assert(PA_REFCNT_VALUE(s) >= 1);
+
+ PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED);
+ PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
+ PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || s->direction == PA_STREAM_UPLOAD, PA_ERR_BADSTATE);
+ PA_CHECK_VALIDITY(s->context, data, PA_ERR_INVALID);
+ PA_CHECK_VALIDITY(s->context, nbytes && *nbytes != 0, PA_ERR_INVALID);
+
+ if (*nbytes != (size_t) -1) {
+ size_t m, fs;
+
+ m = pa_mempool_block_size_max(s->context->mempool);
+ fs = pa_frame_size(&s->sample_spec);
+
+ m = (m / fs) * fs;
+ if (*nbytes > m)
+ *nbytes = m;
+ }
+
+ if (!s->write_memblock) {
+ s->write_memblock = pa_memblock_new(s->context->mempool, *nbytes);
+ s->write_data = pa_memblock_acquire(s->write_memblock);
+ }
+
+ *data = s->write_data;
+ *nbytes = pa_memblock_get_length(s->write_memblock);
+
+ return 0;
+}
+
+int pa_stream_cancel_write(
+ pa_stream *s) {
+
+ pa_assert(s);
+ pa_assert(PA_REFCNT_VALUE(s) >= 1);
+
+ PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED);
+ PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
+ PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || s->direction == PA_STREAM_UPLOAD, PA_ERR_BADSTATE);
+ PA_CHECK_VALIDITY(s->context, s->write_memblock, PA_ERR_BADSTATE);
+
+ pa_assert(s->write_data);
+
+ pa_memblock_release(s->write_memblock);
+ pa_memblock_unref(s->write_memblock);
+ s->write_memblock = NULL;
+ s->write_data = NULL;
+
+ return 0;
+}
+
int pa_stream_write(
pa_stream *s,
const void *data,
size_t length,
- void (*free_cb)(void *p),
+ pa_free_cb_t free_cb,
int64_t offset,
pa_seek_mode_t seek) {
- pa_memchunk chunk;
- pa_seek_mode_t t_seek;
- int64_t t_offset;
- size_t t_length;
- const void *t_data;
-
pa_assert(s);
pa_assert(PA_REFCNT_VALUE(s) >= 1);
pa_assert(data);
@@ -1210,46 +1267,71 @@ int pa_stream_write(
PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || s->direction == PA_STREAM_UPLOAD, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY(s->context, seek <= PA_SEEK_RELATIVE_END, PA_ERR_INVALID);
PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || (seek == PA_SEEK_RELATIVE && offset == 0), PA_ERR_INVALID);
+ PA_CHECK_VALIDITY(s->context,
+ !s->write_memblock ||
+ ((data >= s->write_data) &&
+ ((const char*) data + length <= (const char*) s->write_data + pa_memblock_get_length(s->write_memblock))),
+ PA_ERR_INVALID);
+ PA_CHECK_VALIDITY(s->context, !free_cb || !s->write_memblock, PA_ERR_INVALID);
- if (length <= 0)
- return 0;
+ if (s->write_memblock) {
+ pa_memchunk chunk;
- t_seek = seek;
- t_offset = offset;
- t_length = length;
- t_data = data;
+ /* pa_stream_write_begin() was called before */
- while (t_length > 0) {
+ pa_memblock_release(s->write_memblock);
- chunk.index = 0;
+ chunk.memblock = s->write_memblock;
+ chunk.index = (const char *) data - (const char *) s->write_data;
+ chunk.length = length;
- if (free_cb && !pa_pstream_get_shm(s->context->pstream)) {
- chunk.memblock = pa_memblock_new_user(s->context->mempool, (void*) t_data, t_length, free_cb, 1);
- chunk.length = t_length;
- } else {
- void *d;
+ s->write_memblock = NULL;
+ s->write_data = NULL;
- chunk.length = PA_MIN(t_length, pa_mempool_block_size_max(s->context->mempool));
- chunk.memblock = pa_memblock_new(s->context->mempool, chunk.length);
+ pa_pstream_send_memblock(s->context->pstream, s->channel, offset, seek, &chunk);
+ pa_memblock_unref(chunk.memblock);
- d = pa_memblock_acquire(chunk.memblock);
- memcpy(d, t_data, chunk.length);
- pa_memblock_release(chunk.memblock);
- }
+ } else {
+ pa_seek_mode_t t_seek = seek;
+ int64_t t_offset = offset;
+ size_t t_length = length;
+ const void *t_data = data;
- pa_pstream_send_memblock(s->context->pstream, s->channel, t_offset, t_seek, &chunk);
+ /* pa_stream_write_begin() was not called before */
- t_offset = 0;
- t_seek = PA_SEEK_RELATIVE;
+ while (t_length > 0) {
+ pa_memchunk chunk;
- t_data = (const uint8_t*) t_data + chunk.length;
- t_length -= chunk.length;
+ chunk.index = 0;
- pa_memblock_unref(chunk.memblock);
- }
+ if (free_cb && !pa_pstream_get_shm(s->context->pstream)) {
+ chunk.memblock = pa_memblock_new_user(s->context->mempool, (void*) t_data, t_length, free_cb, 1);
+ chunk.length = t_length;
+ } else {
+ void *d;
+
+ chunk.length = PA_MIN(t_length, pa_mempool_block_size_max(s->context->mempool));
+ chunk.memblock = pa_memblock_new(s->context->mempool, chunk.length);
+
+ d = pa_memblock_acquire(chunk.memblock);
+ memcpy(d, t_data, chunk.length);
+ pa_memblock_release(chunk.memblock);
+ }
- if (free_cb && pa_pstream_get_shm(s->context->pstream))
- free_cb((void*) data);
+ pa_pstream_send_memblock(s->context->pstream, s->channel, t_offset, t_seek, &chunk);
+
+ t_offset = 0;
+ t_seek = PA_SEEK_RELATIVE;
+
+ t_data = (const uint8_t*) t_data + chunk.length;
+ t_length -= chunk.length;
+
+ pa_memblock_unref(chunk.memblock);
+ }
+
+ if (free_cb && pa_pstream_get_shm(s->context->pstream))
+ free_cb((void*) data);
+ }
/* This is obviously wrong since we ignore the seeking index . But
* that's OK, the server side applies the same error */
diff --git a/src/pulse/stream.h b/src/pulse/stream.h
index 49c132a2..8a08421f 100644
--- a/src/pulse/stream.h
+++ b/src/pulse/stream.h
@@ -405,7 +405,7 @@ int pa_stream_connect_playback(
const char *dev /**< Name of the sink to connect to, or NULL for default */ ,
const pa_buffer_attr *attr /**< Buffering attributes, or NULL for default */,
pa_stream_flags_t flags /**< Additional flags, or 0 for default */,
- pa_cvolume *volume /**< Initial volume, or NULL for default */,
+ const pa_cvolume *volume /**< Initial volume, or NULL for default */,
pa_stream *sync_stream /**< Synchronize this stream with the specified one, or NULL for a standalone stream*/);
/** Connect the stream to a source */
@@ -418,15 +418,71 @@ int pa_stream_connect_record(
/** Disconnect a stream from a source/sink */
int pa_stream_disconnect(pa_stream *s);
-/** Write some data to the server (for playback sinks), if free_cb is
- * non-NULL this routine is called when all data has been written out
- * and an internal reference to the specified data is kept, the data
- * is not copied. If NULL, the data is copied into an internal
- * buffer. The client my freely seek around in the output buffer. For
+/** Prepare writing data to the server (for playback streams). This
+ * function may be used to optimize the number of memory copies when
+ * doing playback ("zero-copy"). It is recommended to call this
+ * function before each call to pa_stream_write(). Pass in the address
+ * to a pointer and an address of the number of bytes you want to
+ * write. On return the two values will contain a pointer where you
+ * can place the data to write and the maximum number of bytes you can
+ * write. On return *nbytes can be smaller or have the same value as
+ * you passed in. You need to be able to handle both cases. Accessing
+ * memory beyond the returned *nbytes value is invalid. Acessing the
+ * memory returned after the following pa_stream_write() or
+ * pa_stream_cancel_write() is invalid. On invocation only *nbytes
+ * needs to be initialized, on return both *data and *nbytes will be
+ * valid. If you place (size_t) -1 in *nbytes on invocation the memory
+ * size will be chosen automatically (which is recommended to
+ * do). After placing your data in the memory area returned call
+ * pa_stream_write() with data set to an address within this memory
+ * area and an nbytes value that is smaller or equal to what was
+ * returned by this function to actually execute the write. An
+ * invocation of pa_stream_write() should follow "quickly" on
+ * pa_stream_begin_write(). It is not recommended letting an unbounded
+ * amount of time pass after calling pa_stream_begin_write() and
+ * before calling pa_stream_write(). If you want to cancel a
+ * previously called pa_stream_begin_write() without calling
+ * pa_stream_write() use pa_stream_cancel_write(). Calling
+ * pa_stream_begin_write() twice without calling pa_stream_write() or
+ * pa_stream_cancel_write() in between will return exactly the same
+ * pointer/nbytes values.\since 0.9.16 */
+int pa_stream_begin_write(
+ pa_stream *p,
+ void **data,
+ size_t *nbytes);
+
+/** Reverses the effect of pa_stream_begin_write() dropping all data
+ * that has already been placed in the memory area returned by
+ * pa_stream_begin_write(). Only valid to call if
+ * pa_stream_begin_write() was called before and neither
+ * pa_stream_cancel_write() nor pa_stream_write() have been called
+ * yet. Accessing the memory previously returned by
+ * pa_stream_begin_write() after this call is invalid. Any further
+ * explicit freeing of the memory area is not necessary. \since
+ * 0.9.16 */
+int pa_stream_cancel_write(
+ pa_stream *p);
+
+/** Write some data to the server (for playback streams), if free_cb
+ * is non-NULL this routine is called when all data has been written
+ * out and an internal reference to the specified data is kept, the
+ * data is not copied. If NULL, the data is copied into an internal
+ * buffer. The client may freely seek around in the output buffer. For
* most applications passing 0 and PA_SEEK_RELATIVE as arguments for
* offset and seek should be useful. Afte ther write call succeeded
* the write index will be a the position after where this chunk of
- * data has been written to. */
+ * data has been written to.
+ *
+ * As an optimization for avoiding needless memory copies you may call
+ * pa_stream_begin_write() before this call and then place your audio
+ * data directly in the memory area returned by that call. Then, pass
+ * a pointer to that memory area to pa_stream_write(). After the
+ * invocation of pa_stream_write() the memory area may no longer be
+ * accessed. Any further explicit freeing of the memory area is not
+ * necessary. It is OK to write the memory area returned by
+ * pa_stream_begin_write() only partially with this call, skipping
+ * bytes both at the end and at the beginning of the reserved memory
+ * area.*/
int pa_stream_write(
pa_stream *p /**< The stream to use */,
const void *data /**< The data to write */,
@@ -435,11 +491,12 @@ int pa_stream_write(
int64_t offset, /**< Offset for seeking, must be 0 for upload streams */
pa_seek_mode_t seek /**< Seek mode, must be PA_SEEK_RELATIVE for upload streams */);
-/** Read the next fragment from the buffer (for recording).
- * data will point to the actual data and length will contain the size
- * of the data in bytes (which can be less than a complete framgnet).
- * Use pa_stream_drop() to actually remove the data from the
- * buffer. If no data is available will return a NULL pointer */
+/** Read the next fragment from the buffer (for recording streams).
+ * data will point to the actual data and nbytes will contain the size
+ * of the data in bytes (which can be less or more than a complete
+ * fragment). Use pa_stream_drop() to actually remove the data from
+ * the buffer. If no data is available this will return a NULL
+ * pointer */
int pa_stream_peek(
pa_stream *p /**< The stream to use */,
const void **data /**< Pointer to pointer that will point to data */,
@@ -455,7 +512,9 @@ size_t pa_stream_writable_size(pa_stream *p);
/** Return the number of bytes that may be read using pa_stream_peek()*/
size_t pa_stream_readable_size(pa_stream *p);
-/** Drain a playback stream. Use this for notification when the buffer is empty */
+/** Drain a playback stream. Use this for notification when the buffer
+ * is empty. Please note that only one drain operation per stream may
+ * be issued at a time. */
pa_operation* pa_stream_drain(pa_stream *s, pa_stream_success_cb_t cb, void *userdata);
/** Request a timing info structure update for a stream. Use
diff --git a/src/pulse/thread-mainloop.c b/src/pulse/thread-mainloop.c
index 6916d867..a2b98ce1 100644
--- a/src/pulse/thread-mainloop.c
+++ b/src/pulse/thread-mainloop.c
@@ -51,7 +51,7 @@
struct pa_threaded_mainloop {
pa_mainloop *real_mainloop;
- int n_waiting;
+ int n_waiting, n_waiting_for_accept;
pa_thread* thread;
pa_mutex* mutex;
@@ -190,8 +190,12 @@ void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept) {
pa_cond_signal(m->cond, 1);
- if (wait_for_accept && m->n_waiting > 0)
- pa_cond_wait(m->accept_cond, m->mutex);
+ if (wait_for_accept) {
+ m->n_waiting_for_accept ++;
+
+ while (m->n_waiting_for_accept > 0)
+ pa_cond_wait(m->accept_cond, m->mutex);
+ }
}
void pa_threaded_mainloop_wait(pa_threaded_mainloop *m) {
@@ -214,6 +218,9 @@ void pa_threaded_mainloop_accept(pa_threaded_mainloop *m) {
/* Make sure that this function is not called from the helper thread */
pa_assert(!m->thread || !pa_thread_is_running(m->thread) || !in_worker(m));
+ pa_assert(m->n_waiting_for_accept > 0);
+ m->n_waiting_for_accept --;
+
pa_cond_signal(m->accept_cond, 0);
}
diff --git a/src/pulse/thread-mainloop.h b/src/pulse/thread-mainloop.h
index 8eddce4c..e847070d 100644
--- a/src/pulse/thread-mainloop.h
+++ b/src/pulse/thread-mainloop.h
@@ -137,15 +137,19 @@ PA_C_DECL_BEGIN
* The main function, my_drain_stream_func(), will wait for the callback to
* be called using pa_threaded_mainloop_wait().
*
- * If your application is multi-threaded, then this waiting must be done
- * inside a while loop. The reason for this is that multiple threads might be
- * using pa_threaded_mainloop_wait() at the same time. Each thread must
- * therefore verify that it was its callback that was invoked.
+ * If your application is multi-threaded, then this waiting must be
+ * done inside a while loop. The reason for this is that multiple
+ * threads might be using pa_threaded_mainloop_wait() at the same
+ * time. Each thread must therefore verify that it was its callback
+ * that was invoked. Also the underlying OS synchronization primitives
+ * are usually not free of spurious wake-ups, so a
+ * pa_threaded_mainloop_wait() must be called within a loop even if
+ * you have only one thread waiting.
*
* The callback, my_drain_callback(), indicates to the main function that it
* has been called using pa_threaded_mainloop_signal().
*
- * As you can see, both pa_threaded_mainloop_wait() may only be called with
+ * As you can see, pa_threaded_mainloop_wait() may only be called with
* the lock held. The same thing is true for pa_threaded_mainloop_signal(),
* but as the lock is held before the callback is invoked, you do not have to
* deal with that.
@@ -274,7 +278,9 @@ void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m);
* inside the event loop thread. Prior to this call the event loop
* object needs to be locked using pa_threaded_mainloop_lock(). While
* waiting the lock will be released, immediately before returning it
- * will be acquired again. */
+ * will be acquired again. This function may spuriously wake up even
+ * without _signal() being called. You need to make sure to handle
+ * that! */
void pa_threaded_mainloop_wait(pa_threaded_mainloop *m);
/** Signal all threads waiting for a signalling event in
diff --git a/src/pulse/volume.c b/src/pulse/volume.c
index 42cde5b9..c23f360b 100644
--- a/src/pulse/volume.c
+++ b/src/pulse/volume.c
@@ -205,9 +205,12 @@ pa_volume_t pa_sw_volume_from_linear(double v) {
*
* http://www.robotplanet.dk/audio/audio_gui_design/
* http://lists.linuxaudio.org/pipermail/linux-audio-dev/2009-May/thread.html#23151
+ *
+ * We make sure that the conversion to linear and back yields the
+ * same volume value! That's why we need the lround() below!
*/
- return (pa_volume_t) (cbrt(v) * PA_VOLUME_NORM);
+ return (pa_volume_t) lround(cbrt(v) * PA_VOLUME_NORM);
}
double pa_sw_volume_to_linear(pa_volume_t v) {
diff --git a/src/pulsecore/asyncmsgq.c b/src/pulsecore/asyncmsgq.c
index e191b05f..b0804f79 100644
--- a/src/pulsecore/asyncmsgq.c
+++ b/src/pulsecore/asyncmsgq.c
@@ -26,14 +26,16 @@
#include <unistd.h>
#include <errno.h>
+#include <pulse/xmalloc.h>
+
#include <pulsecore/atomic.h>
+#include <pulsecore/macro.h>
#include <pulsecore/log.h>
#include <pulsecore/thread.h>
#include <pulsecore/semaphore.h>
#include <pulsecore/macro.h>
#include <pulsecore/core-util.h>
#include <pulsecore/flist.h>
-#include <pulse/xmalloc.h>
#include "asyncmsgq.h"
@@ -76,7 +78,7 @@ static void asyncmsgq_free(pa_asyncmsgq *a) {
struct asyncmsgq_item *i;
pa_assert(a);
- while ((i = pa_asyncq_pop(a->asyncq, 0))) {
+ while ((i = pa_asyncq_pop(a->asyncq, FALSE))) {
pa_assert(!i->semaphore);
@@ -172,11 +174,11 @@ int pa_asyncmsgq_send(pa_asyncmsgq *a, pa_msgobject *object, int code, const voi
return i.ret;
}
-int pa_asyncmsgq_get(pa_asyncmsgq *a, pa_msgobject **object, int *code, void **userdata, int64_t *offset, pa_memchunk *chunk, pa_bool_t wait) {
+int pa_asyncmsgq_get(pa_asyncmsgq *a, pa_msgobject **object, int *code, void **userdata, int64_t *offset, pa_memchunk *chunk, pa_bool_t wait_op) {
pa_assert(PA_REFCNT_VALUE(a) > 0);
pa_assert(!a->current);
- if (!(a->current = pa_asyncq_pop(a->asyncq, wait))) {
+ if (!(a->current = pa_asyncq_pop(a->asyncq, wait_op))) {
/* pa_log("failure"); */
return -1;
}
@@ -246,7 +248,7 @@ int pa_asyncmsgq_wait_for(pa_asyncmsgq *a, int code) {
pa_memchunk chunk;
int ret;
- if (pa_asyncmsgq_get(a, &o, &c, &data, &offset, &chunk, 1) < 0)
+ if (pa_asyncmsgq_get(a, &o, &c, &data, &offset, &chunk, TRUE) < 0)
return -1;
ret = pa_asyncmsgq_dispatch(o, c, data, offset, &chunk);
@@ -269,7 +271,7 @@ int pa_asyncmsgq_process_one(pa_asyncmsgq *a) {
pa_assert(PA_REFCNT_VALUE(a) > 0);
- if (pa_asyncmsgq_get(a, &object, &code, &data, &offset, &chunk, 0) < 0)
+ if (pa_asyncmsgq_get(a, &object, &code, &data, &offset, &chunk, FALSE) < 0)
return 0;
pa_asyncmsgq_ref(a);
@@ -323,3 +325,35 @@ int pa_asyncmsgq_dispatch(pa_msgobject *object, int code, void *userdata, int64_
return 0;
}
+
+void pa_asyncmsgq_flush(pa_asyncmsgq *a, pa_bool_t run) {
+ pa_assert(PA_REFCNT_VALUE(a) > 0);
+
+ for (;;) {
+ pa_msgobject *object;
+ int code;
+ void *data;
+ int64_t offset;
+ pa_memchunk chunk;
+ int ret;
+
+ if (pa_asyncmsgq_get(a, &object, &code, &data, &offset, &chunk, FALSE) < 0)
+ return;
+
+ if (!run) {
+ pa_asyncmsgq_done(a, -1);
+ continue;
+ }
+
+ pa_asyncmsgq_ref(a);
+ ret = pa_asyncmsgq_dispatch(object, code, data, offset, &chunk);
+ pa_asyncmsgq_done(a, ret);
+ pa_asyncmsgq_unref(a);
+ }
+}
+
+pa_bool_t pa_asyncmsgq_dispatching(pa_asyncmsgq *a) {
+ pa_assert(PA_REFCNT_VALUE(a) > 0);
+
+ return !!a->current;
+}
diff --git a/src/pulsecore/asyncmsgq.h b/src/pulsecore/asyncmsgq.h
index 1f38207a..1085c2f0 100644
--- a/src/pulsecore/asyncmsgq.h
+++ b/src/pulsecore/asyncmsgq.h
@@ -66,6 +66,8 @@ void pa_asyncmsgq_done(pa_asyncmsgq *q, int ret);
int pa_asyncmsgq_wait_for(pa_asyncmsgq *a, int code);
int pa_asyncmsgq_process_one(pa_asyncmsgq *a);
+void pa_asyncmsgq_flush(pa_asyncmsgq *a, pa_bool_t run);
+
/* For the reading side */
int pa_asyncmsgq_read_fd(pa_asyncmsgq *q);
int pa_asyncmsgq_read_before_poll(pa_asyncmsgq *a);
@@ -76,4 +78,6 @@ int pa_asyncmsgq_write_fd(pa_asyncmsgq *q);
void pa_asyncmsgq_write_before_poll(pa_asyncmsgq *a);
void pa_asyncmsgq_write_after_poll(pa_asyncmsgq *a);
+pa_bool_t pa_asyncmsgq_dispatching(pa_asyncmsgq *a);
+
#endif
diff --git a/src/pulsecore/aupdate.c b/src/pulsecore/aupdate.c
index 56ebb8e5..85b6e00e 100644
--- a/src/pulsecore/aupdate.c
+++ b/src/pulsecore/aupdate.c
@@ -39,6 +39,7 @@ struct pa_aupdate {
pa_atomic_t read_lock;
pa_mutex *write_lock;
pa_semaphore *semaphore;
+ pa_bool_t swapped;
};
pa_aupdate *pa_aupdate_new(void) {
@@ -101,6 +102,8 @@ unsigned pa_aupdate_write_begin(pa_aupdate *a) {
n = (unsigned) pa_atomic_load(&a->read_lock);
+ a->swapped = FALSE;
+
return !WHICH(n);
}
@@ -119,11 +122,16 @@ unsigned pa_aupdate_write_swap(pa_aupdate *a) {
break;
}
+ a->swapped = TRUE;
+
return WHICH(n);
}
void pa_aupdate_write_end(pa_aupdate *a) {
pa_assert(a);
+ if (!a->swapped)
+ pa_aupdate_write_swap(a);
+
pa_mutex_unlock(a->write_lock);
}
diff --git a/src/pulsecore/aupdate.h b/src/pulsecore/aupdate.h
index 072e382d..fb38ffa2 100644
--- a/src/pulsecore/aupdate.h
+++ b/src/pulsecore/aupdate.h
@@ -93,6 +93,10 @@ unsigned pa_aupdate_write_swap(pa_aupdate *a);
* pa_update_write_end(a)
* }
*
+ * In some cases keeping both structures up-to-date might not be
+ * necessary, since they are fully rebuilt on each iteration
+ * anyway. In that case you may leave the _write_swap() call out, it
+ * will then be done implicitly in the _write_end() invocation.
*/
#endif
diff --git a/src/pulsecore/authkey.c b/src/pulsecore/authkey.c
index 1e31d076..15613e27 100644
--- a/src/pulsecore/authkey.c
+++ b/src/pulsecore/authkey.c
@@ -36,6 +36,7 @@
#include <sys/stat.h>
#include <pulse/util.h>
+#include <pulse/xmalloc.h>
#include <pulsecore/core-error.h>
#include <pulsecore/core-util.h>
#include <pulsecore/log.h>
@@ -147,47 +148,46 @@ int pa_authkey_load(const char *path, void *data, size_t length) {
/* If the specified file path starts with / return it, otherwise
* return path prepended with home directory */
-static const char *normalize_path(const char *fn, char *s, size_t l) {
+static char *normalize_path(const char *fn) {
pa_assert(fn);
- pa_assert(s);
- pa_assert(l > 0);
#ifndef OS_IS_WIN32
if (fn[0] != '/') {
#else
if (strlen(fn) < 3 || !isalpha(fn[0]) || fn[1] != ':' || fn[2] != '\\') {
#endif
- char homedir[PATH_MAX];
+ char *homedir, *s;
- if (!pa_get_home_dir(homedir, sizeof(homedir)))
+ if (!(homedir = pa_get_home_dir_malloc()))
return NULL;
-#ifndef OS_IS_WIN32
- pa_snprintf(s, l, "%s/%s", homedir, fn);
-#else
- pa_snprintf(s, l, "%s\\%s", homedir, fn);
-#endif
+ s = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", homedir, fn);
+ pa_xfree(homedir);
+
return s;
}
- return fn;
+ return pa_xstrdup(fn);
}
/* Load a cookie from a file in the home directory. If the specified
* path starts with /, use it as absolute path instead. */
int pa_authkey_load_auto(const char *fn, void *data, size_t length) {
- char path[PATH_MAX];
- const char *p;
+ char *p;
+ int ret;
pa_assert(fn);
pa_assert(data);
pa_assert(length > 0);
- if (!(p = normalize_path(fn, path, sizeof(path))))
+ if (!(p = normalize_path(fn)))
return -2;
- return pa_authkey_load(p, data, length);
+ ret = pa_authkey_load(p, data, length);
+ pa_xfree(p);
+
+ return ret;
}
/* Store the specified cookie in the specified cookie file */
@@ -195,14 +195,13 @@ int pa_authkey_save(const char *fn, const void *data, size_t length) {
int fd = -1;
int unlock = 0, ret = -1;
ssize_t r;
- char path[PATH_MAX];
- const char *p;
+ char *p;
pa_assert(fn);
pa_assert(data);
pa_assert(length > 0);
- if (!(p = normalize_path(fn, path, sizeof(path))))
+ if (!(p = normalize_path(fn)))
return -2;
if ((fd = open(p, O_RDWR|O_CREAT|O_NOCTTY, S_IRUSR|S_IWUSR)) < 0) {
@@ -232,5 +231,7 @@ finish:
}
}
+ pa_xfree(p);
+
return ret;
}
diff --git a/src/pulsecore/cli-text.c b/src/pulsecore/cli-text.c
index 9395513d..a5530991 100644
--- a/src/pulsecore/cli-text.c
+++ b/src/pulsecore/cli-text.c
@@ -296,7 +296,7 @@ char *pa_sink_list_to_string(pa_core *c) {
pa_strbuf_printf(
s,
"\tfixed latency: %0.2f ms\n",
- (double) pa_sink_get_requested_latency(sink) / PA_USEC_PER_MSEC);
+ (double) pa_sink_get_fixed_latency(sink) / PA_USEC_PER_MSEC);
if (sink->card)
pa_strbuf_printf(s, "\tcard: %u <%s>\n", sink->card->index, sink->card->name);
@@ -415,7 +415,7 @@ char *pa_source_list_to_string(pa_core *c) {
pa_strbuf_printf(
s,
"\tfixed latency: %0.2f ms\n",
- (double) pa_source_get_requested_latency(source) / PA_USEC_PER_MSEC);
+ (double) pa_source_get_fixed_latency(source) / PA_USEC_PER_MSEC);
if (source->monitor_of)
pa_strbuf_printf(s, "\tmonitor_of: %u\n", source->monitor_of->index);
@@ -482,7 +482,7 @@ char *pa_source_output_list_to_string(pa_core *c) {
s,
" index: %u\n"
"\tdriver: <%s>\n"
- "\tflags: %s%s%s%s%s%s%s%s%s%s\n"
+ "\tflags: %s%s%s%s%s%s%s%s%s%s%s\n"
"\tstate: %s\n"
"\tsource: %u <%s>\n"
"\tcurrent latency: %0.2f ms\n"
@@ -501,7 +501,8 @@ char *pa_source_output_list_to_string(pa_core *c) {
o->flags & PA_SOURCE_OUTPUT_FIX_RATE ? "FIX_RATE " : "",
o->flags & PA_SOURCE_OUTPUT_FIX_CHANNELS ? "FIX_CHANNELS " : "",
o->flags & PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPEND ? "DONT_INHIBIT_AUTO_SUSPEND " : "",
- o->flags & PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND ? "FAIL_ON_SUSPEND " : "",
+ o->flags & PA_SOURCE_OUTPUT_NO_CREATE_ON_SUSPEND ? "NO_CREATE_ON_SUSPEND " : "",
+ o->flags & PA_SOURCE_OUTPUT_KILL_ON_SUSPEND ? "KILL_ON_SUSPEND " : "",
state_table[pa_source_output_get_state(o)],
o->source->index, o->source->name,
(double) pa_source_output_get_latency(o, NULL) / PA_USEC_PER_MSEC,
@@ -564,7 +565,7 @@ char *pa_sink_input_list_to_string(pa_core *c) {
s,
" index: %u\n"
"\tdriver: <%s>\n"
- "\tflags: %s%s%s%s%s%s%s%s%s%s\n"
+ "\tflags: %s%s%s%s%s%s%s%s%s%s%s\n"
"\tstate: %s\n"
"\tsink: %u <%s>\n"
"\tvolume: %s\n"
@@ -587,7 +588,8 @@ char *pa_sink_input_list_to_string(pa_core *c) {
i->flags & PA_SINK_INPUT_FIX_RATE ? "FIX_RATE " : "",
i->flags & PA_SINK_INPUT_FIX_CHANNELS ? "FIX_CHANNELS " : "",
i->flags & PA_SINK_INPUT_DONT_INHIBIT_AUTO_SUSPEND ? "DONT_INHIBIT_AUTO_SUSPEND " : "",
- i->flags & PA_SINK_INPUT_FAIL_ON_SUSPEND ? "FAIL_ON_SUSPEND " : "",
+ i->flags & PA_SINK_INPUT_NO_CREATE_ON_SUSPEND ? "NO_CREATE_SUSPEND " : "",
+ i->flags & PA_SINK_INPUT_KILL_ON_SUSPEND ? "KILL_ON_SUSPEND " : "",
state_table[pa_sink_input_get_state(i)],
i->sink->index, i->sink->name,
pa_cvolume_snprint(cv, sizeof(cv), &v),
diff --git a/src/pulsecore/conf-parser.c b/src/pulsecore/conf-parser.c
index 2dc9a223..b4ab23cc 100644
--- a/src/pulsecore/conf-parser.c
+++ b/src/pulsecore/conf-parser.c
@@ -278,6 +278,30 @@ int pa_config_parse_bool(const char *filename, unsigned line, const char *sectio
return 0;
}
+int pa_config_parse_not_bool(
+ const char *filename, unsigned line,
+ const char *section,
+ const char *lvalue, const char *rvalue,
+ void *data, void *userdata) {
+
+ int k;
+ pa_bool_t *b = data;
+
+ pa_assert(filename);
+ pa_assert(lvalue);
+ pa_assert(rvalue);
+ pa_assert(data);
+
+ if ((k = pa_parse_boolean(rvalue)) < 0) {
+ pa_log("[%s:%u] Failed to parse boolean value: %s", filename, line, rvalue);
+ return -1;
+ }
+
+ *b = !k;
+
+ return 0;
+}
+
int pa_config_parse_string(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata) {
char **s = data;
diff --git a/src/pulsecore/conf-parser.h b/src/pulsecore/conf-parser.h
index 08e17ca7..c6c8a148 100644
--- a/src/pulsecore/conf-parser.h
+++ b/src/pulsecore/conf-parser.h
@@ -47,6 +47,7 @@ int pa_config_parse_int(const char *filename, unsigned line, const char *section
int pa_config_parse_unsigned(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);
int pa_config_parse_size(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);
int pa_config_parse_bool(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);
+int pa_config_parse_not_bool(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);
int pa_config_parse_string(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);
#endif
diff --git a/src/pulsecore/core-scache.c b/src/pulsecore/core-scache.c
index 4c5a4b26..fde12ecf 100644
--- a/src/pulsecore/core-scache.c
+++ b/src/pulsecore/core-scache.c
@@ -494,13 +494,14 @@ int pa_scache_add_directory_lazy(pa_core *c, const char *pathname) {
struct dirent *e;
while ((e = readdir(dir))) {
- char p[PATH_MAX];
+ char *p;
if (e->d_name[0] == '.')
continue;
- pa_snprintf(p, sizeof(p), "%s/%s", pathname, e->d_name);
+ p = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", pathname, e->d_name);
add_file(c, p);
+ pa_xfree(p);
}
closedir(dir);
diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
index ebddf363..e83563f9 100644
--- a/src/pulsecore/core-util.c
+++ b/src/pulsecore/core-util.c
@@ -101,6 +101,10 @@
#include "rtkit.h"
#endif
+#ifdef __linux__
+#include <sys/personality.h>
+#endif
+
#include <pulse/xmalloc.h>
#include <pulse/util.h>
#include <pulse/utf8.h>
@@ -552,12 +556,20 @@ char *pa_vsprintf_malloc(const char *format, va_list ap) {
/* Similar to OpenBSD's strlcpy() function */
char *pa_strlcpy(char *b, const char *s, size_t l) {
+ size_t k;
+
pa_assert(b);
pa_assert(s);
pa_assert(l > 0);
- strncpy(b, s, l);
- b[l-1] = 0;
+ k = strlen(s);
+
+ if (k > l-1)
+ k = l-1;
+
+ memcpy(b, s, k);
+ b[k] = 0;
+
return b;
}
@@ -1328,26 +1340,32 @@ int pa_unlock_lockfile(const char *fn, int fd) {
}
static char *get_pulse_home(void) {
- char h[PATH_MAX];
+ char *h;
struct stat st;
+ char *ret = NULL;
- if (!pa_get_home_dir(h, sizeof(h))) {
+ if (!(h = pa_get_home_dir_malloc())) {
pa_log_error("Failed to get home directory.");
return NULL;
}
if (stat(h, &st) < 0) {
pa_log_error("Failed to stat home directory %s: %s", h, pa_cstrerror(errno));
- return NULL;
+ goto finish;
}
if (st.st_uid != getuid()) {
pa_log_error("Home directory %s not ours.", h);
errno = EACCES;
- return NULL;
+ goto finish;
}
- return pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse", h);
+ ret = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse", h);
+
+finish:
+ pa_xfree(h);
+
+ return ret;
}
char *pa_get_state_dir(void) {
@@ -1372,6 +1390,50 @@ char *pa_get_state_dir(void) {
return d;
}
+char *pa_get_home_dir_malloc(void) {
+ char *homedir;
+ size_t allocated = 128;
+
+ for (;;) {
+ homedir = pa_xmalloc(allocated);
+
+ if (!pa_get_home_dir(homedir, allocated)) {
+ pa_xfree(homedir);
+ return NULL;
+ }
+
+ if (strlen(homedir) < allocated - 1)
+ break;
+
+ pa_xfree(homedir);
+ allocated *= 2;
+ }
+
+ return homedir;
+}
+
+char *pa_get_binary_name_malloc(void) {
+ char *t;
+ size_t allocated = 128;
+
+ for (;;) {
+ t = pa_xmalloc(allocated);
+
+ if (!pa_get_binary_name(t, allocated)) {
+ pa_xfree(t);
+ return NULL;
+ }
+
+ if (strlen(t) < allocated - 1)
+ break;
+
+ pa_xfree(t);
+ allocated *= 2;
+ }
+
+ return t;
+}
+
static char* make_random_dir(mode_t m) {
static const char table[] =
"abcdefghijklmnopqrstuvwxyz"
@@ -1481,7 +1543,7 @@ char *pa_get_runtime_dir(void) {
goto fail;
}
- k = pa_sprintf_malloc("%s" PA_PATH_SEP "%s:runtime", d, mid);
+ k = pa_sprintf_malloc("%s" PA_PATH_SEP "%s-runtime", d, mid);
pa_xfree(d);
pa_xfree(mid);
@@ -1626,14 +1688,15 @@ FILE *pa_open_config_file(const char *global, const char *local, const char *env
if (local) {
const char *e;
char *lfn;
- char h[PATH_MAX];
+ char *h;
FILE *f;
if ((e = getenv("PULSE_CONFIG_PATH")))
fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", e, local);
- else if (pa_get_home_dir(h, sizeof(h)))
+ else if ((h = pa_get_home_dir_malloc())) {
fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse" PA_PATH_SEP "%s", h, local);
- else
+ pa_xfree(h);
+ } else
return NULL;
#ifdef OS_IS_WIN32
@@ -1713,13 +1776,14 @@ char *pa_find_config_file(const char *global, const char *local, const char *env
if (local) {
const char *e;
char *lfn;
- char h[PATH_MAX];
+ char *h;
if ((e = getenv("PULSE_CONFIG_PATH")))
fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", e, local);
- else if (pa_get_home_dir(h, sizeof(h)))
+ else if ((h = pa_get_home_dir_malloc())) {
fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse" PA_PATH_SEP "%s", h, local);
- else
+ pa_xfree(h);
+ } else
return NULL;
#ifdef OS_IS_WIN32
@@ -1904,7 +1968,7 @@ static char *get_path(const char *fn, pa_bool_t prependmid, pa_bool_t rt) {
return NULL;
}
- r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s:%s", rtp, mid, fn);
+ r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s-%s", rtp, mid, fn);
pa_xfree(mid);
} else
r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", rtp, fn);
@@ -2801,3 +2865,28 @@ char* pa_maybe_prefix_path(const char *path, const char *prefix) {
return pa_sprintf_malloc("%s" PA_PATH_SEP "%s", prefix, path);
}
+
+size_t pa_pipe_buf(int fd) {
+
+#ifdef _PC_PIPE_BUF
+ long n;
+
+ if ((n = fpathconf(fd, _PC_PIPE_BUF)) >= 0)
+ return (size_t) n;
+#endif
+
+#ifdef PIPE_BUF
+ return PIPE_BUF;
+#else
+ return 4096;
+#endif
+}
+
+void pa_reset_personality(void) {
+
+#ifdef __linux__
+ if (personality(PER_LINUX) < 0)
+ pa_log_warn("Uh, personality() failed: %s", pa_cstrerror(errno));
+#endif
+
+}
diff --git a/src/pulsecore/core-util.h b/src/pulsecore/core-util.h
index aaa51bd6..3db55106 100644
--- a/src/pulsecore/core-util.h
+++ b/src/pulsecore/core-util.h
@@ -126,6 +126,8 @@ char* pa_find_config_file(const char *global, const char *local, const char *env
char *pa_get_runtime_dir(void);
char *pa_get_state_dir(void);
+char *pa_get_home_dir_malloc(void);
+char *pa_get_binary_name_malloc(void);
char *pa_runtime_path(const char *fn);
char *pa_state_path(const char *fn, pa_bool_t prepend_machine_id);
@@ -243,4 +245,9 @@ char **pa_split_spaces_strv(const char *s);
char* pa_maybe_prefix_path(const char *path, const char *prefix);
+/* Returns size of the specified pipe or 4096 on failure */
+size_t pa_pipe_buf(int fd);
+
+void pa_reset_personality(void);
+
#endif
diff --git a/src/pulsecore/database-simple.c b/src/pulsecore/database-simple.c
new file mode 100644
index 00000000..1f4caf71
--- /dev/null
+++ b/src/pulsecore/database-simple.c
@@ -0,0 +1,510 @@
+/***
+ This file is part of PulseAudio.
+
+ Copyright 2009 Nokia Corporation
+ Contact: Maemo Multimedia <multimedia@maemo.org>
+
+ 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, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <errno.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdio.h>
+
+#include <pulse/xmalloc.h>
+#include <pulsecore/core-util.h>
+#include <pulsecore/log.h>
+#include <pulsecore/core-error.h>
+#include <pulsecore/hashmap.h>
+
+#include "database.h"
+
+
+typedef struct simple_data {
+ char *filename;
+ char *tmp_filename;
+ pa_hashmap *map;
+ pa_bool_t read_only;
+} simple_data;
+
+typedef struct entry {
+ pa_datum key;
+ pa_datum data;
+} entry;
+
+void pa_datum_free(pa_datum *d) {
+ pa_assert(d);
+
+ pa_xfree(d->data);
+ d->data = NULL;
+ d->size = 0;
+}
+
+static int compare_func(const void *a, const void *b) {
+ const pa_datum *aa, *bb;
+
+ aa = (const pa_datum*)a;
+ bb = (const pa_datum*)b;
+
+ if (aa->size != bb->size)
+ return aa->size > bb->size ? 1 : -1;
+
+ return memcmp(aa->data, bb->data, aa->size);
+}
+
+/* pa_idxset_string_hash_func modified for our use */
+static unsigned hash_func(const void *p) {
+ const pa_datum *d;
+ unsigned hash = 0;
+ const char *c;
+ unsigned i;
+
+ d = (const pa_datum*)p;
+ c = d->data;
+
+ for (i = 0; i < d->size; i++) {
+ hash = 31 * hash + (unsigned) *c;
+ c++;
+ }
+
+ return hash;
+}
+
+static entry* new_entry(const pa_datum *key, const pa_datum *data) {
+ entry *e;
+
+ pa_assert(key);
+ pa_assert(data);
+
+ e = pa_xnew0(entry, 1);
+ e->key.data = key->size > 0 ? pa_xmemdup(key->data, key->size) : NULL;
+ e->key.size = key->size;
+ e->data.data = data->size > 0 ? pa_xmemdup(data->data, data->size) : NULL;
+ e->data.size = data->size;
+ return e;
+}
+
+static void free_entry(entry *e) {
+ if (e) {
+ if (e->key.data)
+ pa_xfree(e->key.data);
+ if (e->data.data)
+ pa_xfree(e->data.data);
+ pa_xfree(e);
+ }
+}
+
+static int read_uint(FILE *f, uint32_t *res) {
+ size_t items = 0;
+ uint8_t values[4];
+ uint32_t tmp;
+ int i;
+
+ items = fread(&values, sizeof(values), sizeof(uint8_t), f);
+
+ if (feof(f)) /* EOF */
+ return 0;
+
+ if (ferror(f))
+ return -1;
+
+ for (i = 0; i < 4; ++i) {
+ tmp = values[i];
+ *res += (tmp << (i*8));
+ }
+
+ return items;
+}
+
+static int read_data(FILE *f, void **data, ssize_t *length) {
+ size_t items = 0;
+ uint32_t data_len = 0;
+
+ pa_assert(f);
+
+ *data = NULL;
+ *length = 0;
+
+ if ((items = read_uint(f, &data_len)) <= 0)
+ return -1;
+
+ if (data_len > 0) {
+ *data = pa_xmalloc0(data_len);
+ items = fread(*data, data_len, 1, f);
+
+ if (feof(f)) /* EOF */
+ goto reset;
+
+ if (ferror(f))
+ goto reset;
+
+ *length = data_len;
+
+ } else { /* no data? */
+ return -1;
+ }
+
+ return 0;
+
+reset:
+ pa_xfree(*data);
+ *data = NULL;
+ *length = 0;
+ return -1;
+}
+
+static int fill_data(simple_data *db, FILE *f) {
+ pa_datum key;
+ pa_datum data;
+ void *d = NULL;
+ ssize_t l = 0;
+ pa_bool_t append = FALSE;
+ enum { FIELD_KEY = 0, FIELD_DATA } field = FIELD_KEY;
+
+ pa_assert(db);
+ pa_assert(db->map);
+
+ errno = 0;
+
+ key.size = 0;
+ key.data = NULL;
+
+ while (!read_data(f, &d, &l)) {
+
+ switch (field) {
+ case FIELD_KEY:
+ key.data = d;
+ key.size = l;
+ field = FIELD_DATA;
+ break;
+ case FIELD_DATA:
+ data.data = d;
+ data.size = l;
+ append = TRUE;
+ break;
+ }
+
+ if (append) {
+ entry *e = pa_xnew0(entry, 1);
+ e->key.data = key.data;
+ e->key.size = key.size;
+ e->data.data = data.data;
+ e->data.size = data.size;
+ pa_hashmap_put(db->map, &e->key, e);
+ append = FALSE;
+ field = FIELD_KEY;
+ }
+ }
+
+ if (ferror(f)) {
+ pa_log_warn("read error. %s", pa_cstrerror(errno));
+ pa_database_clear((pa_database*)db);
+ }
+
+ if (field == FIELD_DATA && d)
+ pa_xfree(d);
+
+ return pa_hashmap_size(db->map);
+}
+
+pa_database* pa_database_open(const char *fn, pa_bool_t for_write) {
+ FILE *f;
+ char *path;
+ simple_data *db;
+
+ pa_assert(fn);
+
+ path = pa_sprintf_malloc("%s."CANONICAL_HOST".simple", fn);
+ errno = 0;
+
+ f = fopen(path, "r");
+
+ if (f || errno == ENOENT) { /* file not found is ok */
+ db = pa_xnew0(simple_data, 1);
+ db->map = pa_hashmap_new(hash_func, compare_func);
+ db->filename = pa_xstrdup(path);
+ db->tmp_filename = pa_sprintf_malloc(".%s.tmp", db->filename);
+ db->read_only = !for_write;
+
+ if (f) {
+ fill_data(db, f);
+ fclose(f);
+ }
+ } else {
+ if (errno == 0)
+ errno = EIO;
+ db = NULL;
+ }
+
+ pa_xfree(path);
+
+ return (pa_database*) db;
+}
+
+void pa_database_close(pa_database *database) {
+ simple_data *db = (simple_data*)database;
+ pa_assert(db);
+
+ pa_database_sync(database);
+ pa_database_clear(database);
+ pa_xfree(db->filename);
+ pa_xfree(db->tmp_filename);
+ pa_hashmap_free(db->map, NULL, NULL);
+ pa_xfree(db);
+}
+
+pa_datum* pa_database_get(pa_database *database, const pa_datum *key, pa_datum* data) {
+ simple_data *db = (simple_data*)database;
+ entry *e;
+
+ pa_assert(db);
+ pa_assert(key);
+ pa_assert(data);
+
+ e = pa_hashmap_get(db->map, key);
+
+ if (!e)
+ return NULL;
+
+ data->data = e->data.size > 0 ? pa_xmemdup(e->data.data, e->data.size) : NULL;
+ data->size = e->data.size;
+
+ return data;
+}
+
+int pa_database_set(pa_database *database, const pa_datum *key, const pa_datum* data, pa_bool_t overwrite) {
+ simple_data *db = (simple_data*)database;
+ entry *e;
+ int ret = 0;
+
+ pa_assert(db);
+ pa_assert(key);
+ pa_assert(data);
+
+ if (db->read_only)
+ return -1;
+
+ e = new_entry(key, data);
+
+ if (pa_hashmap_put(db->map, &e->key, e) < 0) {
+ /* entry with same key exists in hashmap */
+ entry *r;
+ if (overwrite) {
+ r = pa_hashmap_remove(db->map, key);
+ pa_hashmap_put(db->map, &e->key, e);
+ } else {
+ /* wont't overwrite, so clean new entry */
+ r = e;
+ ret = -1;
+ }
+
+ free_entry(r);
+ }
+
+ return ret;
+}
+
+int pa_database_unset(pa_database *database, const pa_datum *key) {
+ simple_data *db = (simple_data*)database;
+ entry *e;
+
+ pa_assert(db);
+ pa_assert(key);
+
+ e = pa_hashmap_remove(db->map, key);
+ if (!e)
+ return -1;
+
+ free_entry(e);
+
+ return 0;
+}
+
+int pa_database_clear(pa_database *database) {
+ simple_data *db = (simple_data*)database;
+ entry *e;
+
+ pa_assert(db);
+
+ while ((e = pa_hashmap_steal_first(db->map)))
+ free_entry(e);
+
+ return 0;
+}
+
+signed pa_database_size(pa_database *database) {
+ simple_data *db = (simple_data*)database;
+ pa_assert(db);
+
+ return (signed) pa_hashmap_size(db->map);
+}
+
+pa_datum* pa_database_first(pa_database *database, pa_datum *key, pa_datum *data) {
+ simple_data *db = (simple_data*)database;
+ entry *e;
+
+ pa_assert(db);
+ pa_assert(key);
+
+ e = pa_hashmap_first(db->map);
+
+ if (!e)
+ return NULL;
+
+ key->data = e->key.size > 0 ? pa_xmemdup(e->key.data, e->key.size) : NULL;
+ key->size = e->key.size;
+
+ if (data) {
+ data->data = e->data.size > 0 ? pa_xmemdup(e->data.data, e->data.size) : NULL;
+ data->size = e->data.size;
+ }
+
+ return key;
+}
+
+pa_datum* pa_database_next(pa_database *database, const pa_datum *key, pa_datum *next, pa_datum *data) {
+ simple_data *db = (simple_data*)database;
+ entry *e;
+ entry *search;
+ void *state;
+ pa_bool_t pick_now;
+
+ pa_assert(db);
+ pa_assert(next);
+
+ if (!key)
+ return pa_database_first(database, next, data);
+
+ search = pa_hashmap_get(db->map, key);
+
+ state = NULL;
+ pick_now = FALSE;
+
+ while ((e = pa_hashmap_iterate(db->map, &state, NULL))) {
+ if (pick_now)
+ break;
+
+ if (search == e)
+ pick_now = TRUE;
+ }
+
+ if (!pick_now || !e)
+ return NULL;
+
+ next->data = e->key.size > 0 ? pa_xmemdup(e->key.data, e->key.size) : NULL;
+ next->size = e->key.size;
+
+ if (data) {
+ data->data = e->data.size > 0 ? pa_xmemdup(e->data.data, e->data.size) : NULL;
+ data->size = e->data.size;
+ }
+
+ return next;
+}
+
+static int write_uint(FILE *f, const uint32_t num) {
+ size_t items;
+ uint8_t values[4];
+ int i;
+ errno = 0;
+
+ for (i = 0; i < 4; i++)
+ values[i] = (num >> (i*8)) & 0xFF;
+
+ items = fwrite(&values, sizeof(values), sizeof(uint8_t), f);
+
+ if (ferror(f))
+ return -1;
+
+ return items;
+}
+
+static int write_data(FILE *f, void *data, const size_t length) {
+ size_t items;
+ uint32_t len;
+
+ len = length;
+ if ((items = write_uint(f, len)) <= 0)
+ return -1;
+
+ items = fwrite(data, length, 1, f);
+
+ if (ferror(f) || items != 1)
+ return -1;
+
+ return 0;
+}
+
+static int write_entry(FILE *f, const entry *e) {
+ pa_assert(f);
+ pa_assert(e);
+
+ if (write_data(f, e->key.data, e->key.size) < 0)
+ return -1;
+ if (write_data(f, e->data.data, e->data.size) < 0)
+ return -1;
+
+ return 0;
+}
+
+int pa_database_sync(pa_database *database) {
+ simple_data *db = (simple_data*)database;
+ FILE *f;
+ void *state;
+ entry *e;
+
+ pa_assert(db);
+
+ if (db->read_only)
+ return 0;
+
+ errno = 0;
+
+ f = fopen(db->tmp_filename, "w");
+
+ if (!f)
+ goto fail;
+
+ state = NULL;
+ while((e = pa_hashmap_iterate(db->map, &state, NULL))) {
+ if (write_entry(f, e) < 0) {
+ pa_log_warn("error while writing to file. %s", pa_cstrerror(errno));
+ goto fail;
+ }
+ }
+
+ fclose(f);
+ f = NULL;
+
+ if (rename(db->tmp_filename, db->filename) < 0) {
+ pa_log_warn("error while renaming file. %s", pa_cstrerror(errno));
+ goto fail;
+ }
+
+ return 0;
+
+fail:
+ if (f)
+ fclose(f);
+ return -1;
+}
diff --git a/src/pulsecore/dbus-util.c b/src/pulsecore/dbus-util.c
index 903acadb..b45e6a6c 100644
--- a/src/pulsecore/dbus-util.c
+++ b/src/pulsecore/dbus-util.c
@@ -667,7 +667,7 @@ void pa_dbus_append_proplist(DBusMessageIter *iter, pa_proplist *proplist) {
pa_assert_se(dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "{say}", &dict_iter));
- while ((key = pa_proplist_iterate(proplist, state))) {
+ while ((key = pa_proplist_iterate(proplist, &state))) {
const void *value = NULL;
size_t nbytes;
diff --git a/src/pulsecore/hook-list.c b/src/pulsecore/hook-list.c
index a00116d1..d9b9917d 100644
--- a/src/pulsecore/hook-list.c
+++ b/src/pulsecore/hook-list.c
@@ -97,7 +97,7 @@ pa_hook_result_t pa_hook_fire(pa_hook *hook, void *data) {
hook->n_firing ++;
- for (slot = hook->slots; slot; slot = slot->next) {
+ PA_LLIST_FOREACH(slot, hook->slots) {
if (slot->dead)
continue;
diff --git a/src/pulsecore/lock-autospawn.c b/src/pulsecore/lock-autospawn.c
index 4436974d..c0df7938 100644
--- a/src/pulsecore/lock-autospawn.c
+++ b/src/pulsecore/lock-autospawn.c
@@ -55,10 +55,16 @@ static pa_mutex *mutex;
static unsigned n_ref = 0;
static int lock_fd = -1;
static pa_mutex *lock_fd_mutex = NULL;
-static pa_bool_t taken = FALSE;
-static pa_thread *thread;
+static pa_thread *thread = NULL;
static int pipe_fd[2] = { -1, -1 };
+static enum {
+ STATE_IDLE,
+ STATE_OWNING,
+ STATE_TAKEN,
+ STATE_FAILED
+} state = STATE_IDLE;
+
static void destroy_mutex(void) PA_GCC_DESTRUCTOR;
static int ref(void) {
@@ -67,15 +73,16 @@ static int ref(void) {
pa_assert(pipe_fd[0] >= 0);
pa_assert(pipe_fd[1] >= 0);
+ pa_assert(lock_fd_mutex);
n_ref++;
return 0;
}
- pa_assert(lock_fd < 0);
pa_assert(!lock_fd_mutex);
- pa_assert(!taken);
+ pa_assert(state == STATE_IDLE);
+ pa_assert(lock_fd < 0);
pa_assert(!thread);
pa_assert(pipe_fd[0] < 0);
pa_assert(pipe_fd[1] < 0);
@@ -83,14 +90,14 @@ static int ref(void) {
if (pipe(pipe_fd) < 0)
return -1;
- lock_fd_mutex = pa_mutex_new(FALSE, FALSE);
-
pa_make_fd_cloexec(pipe_fd[0]);
pa_make_fd_cloexec(pipe_fd[1]);
pa_make_fd_nonblock(pipe_fd[1]);
pa_make_fd_nonblock(pipe_fd[0]);
+ lock_fd_mutex = pa_mutex_new(FALSE, FALSE);
+
n_ref = 1;
return 0;
}
@@ -107,15 +114,18 @@ static void unref(pa_bool_t after_fork) {
if (n_ref > 0)
return;
- pa_assert(!taken);
-
if (thread) {
pa_thread_free(thread);
thread = NULL;
}
pa_mutex_lock(lock_fd_mutex);
- if (lock_fd >= 0) {
+
+ pa_assert(state != STATE_TAKEN);
+
+ if (state == STATE_OWNING) {
+
+ pa_assert(lock_fd >= 0);
if (after_fork)
pa_close(lock_fd);
@@ -127,10 +137,12 @@ static void unref(pa_bool_t after_fork) {
pa_unlock_lockfile(lf, lock_fd);
pa_xfree(lf);
-
- lock_fd = -1;
}
}
+
+ lock_fd = -1;
+ state = STATE_IDLE;
+
pa_mutex_unlock(lock_fd_mutex);
pa_mutex_free(lock_fd_mutex);
@@ -205,15 +217,24 @@ static void thread_func(void *u) {
if (!(lf = pa_runtime_path(AUTOSPAWN_LOCK))) {
pa_log_warn(_("Cannot access autospawn lock."));
- goto finish;
+ goto fail;
}
if ((fd = pa_lock_lockfile(lf)) < 0)
- goto finish;
+ goto fail;
pa_mutex_lock(lock_fd_mutex);
- pa_assert(lock_fd < 0);
+ pa_assert(state == STATE_IDLE);
lock_fd = fd;
+ state = STATE_OWNING;
+ pa_mutex_unlock(lock_fd_mutex);
+
+ goto finish;
+
+fail:
+ pa_mutex_lock(lock_fd_mutex);
+ pa_assert(state == STATE_IDLE);
+ state = STATE_FAILED;
pa_mutex_unlock(lock_fd_mutex);
finish:
@@ -238,12 +259,10 @@ static void create_mutex(void) {
}
static void destroy_mutex(void) {
-
if (mutex)
pa_mutex_free(mutex);
}
-
int pa_autospawn_lock_init(void) {
int ret = -1;
@@ -273,13 +292,18 @@ int pa_autospawn_lock_acquire(pa_bool_t block) {
empty_pipe();
- if (lock_fd >= 0 && !taken) {
- taken = TRUE;
+ if (state == STATE_OWNING) {
+ state = STATE_TAKEN;
ret = 1;
break;
}
- if (lock_fd < 0)
+ if (state == STATE_FAILED) {
+ ret = -1;
+ break;
+ }
+
+ if (state == STATE_IDLE)
if (start_thread() < 0)
break;
@@ -310,8 +334,8 @@ void pa_autospawn_lock_release(void) {
pa_mutex_lock(mutex);
pa_assert(n_ref >= 1);
- pa_assert(taken);
- taken = FALSE;
+ pa_assert(state == STATE_TAKEN);
+ state = STATE_OWNING;
ping();
diff --git a/src/pulsecore/memblock.c b/src/pulsecore/memblock.c
index 9a57895b..441b397b 100644
--- a/src/pulsecore/memblock.c
+++ b/src/pulsecore/memblock.c
@@ -96,6 +96,7 @@ struct pa_memimport_segment {
unsigned n_blocks;
};
+/* A collection of multiple segments */
struct pa_memimport {
pa_mutex *mutex;
@@ -257,7 +258,8 @@ static struct mempool_slot* mempool_allocate_slot(pa_mempool *p) {
slot = (struct mempool_slot*) ((uint8_t*) p->memory.ptr + (p->block_size * (size_t) idx));
if (!slot) {
- pa_log_info("Pool full");
+ if (pa_log_ratelimit())
+ pa_log_debug("Pool full");
pa_atomic_inc(&p->stat.n_pool_full);
return NULL;
}
@@ -509,13 +511,16 @@ static void memblock_free(pa_memblock *b) {
/* FIXME! This should be implemented lock-free */
- segment = b->per_type.imported.segment;
- pa_assert(segment);
- import = segment->import;
- pa_assert(import);
+ pa_assert_se(segment = b->per_type.imported.segment);
+ pa_assert_se(import = segment->import);
pa_mutex_lock(import->mutex);
- pa_hashmap_remove(import->blocks, PA_UINT32_TO_PTR(b->per_type.imported.id));
+
+ pa_assert_se(pa_hashmap_remove(
+ import->blocks,
+ PA_UINT32_TO_PTR(b->per_type.imported.id)));
+
+ pa_assert(segment->n_blocks >= 1);
if (-- segment->n_blocks <= 0)
segment_detach(segment);
@@ -525,6 +530,7 @@ static void memblock_free(pa_memblock *b) {
if (pa_flist_push(PA_STATIC_FLIST_GET(unused_memblocks), b) < 0)
pa_xfree(b);
+
break;
}
@@ -657,7 +663,8 @@ pa_memblock *pa_memblock_will_need(pa_memblock *b) {
/* Self-locked. This function is not multiple-caller safe */
static void memblock_replace_import(pa_memblock *b) {
- pa_memimport_segment *seg;
+ pa_memimport_segment *segment;
+ pa_memimport *import;
pa_assert(b);
pa_assert(b->type == PA_MEMBLOCK_IMPORTED);
@@ -667,23 +674,22 @@ static void memblock_replace_import(pa_memblock *b) {
pa_atomic_dec(&b->pool->stat.n_imported);
pa_atomic_sub(&b->pool->stat.imported_size, (int) b->length);
- seg = b->per_type.imported.segment;
- pa_assert(seg);
- pa_assert(seg->import);
+ pa_assert_se(segment = b->per_type.imported.segment);
+ pa_assert_se(import = segment->import);
- pa_mutex_lock(seg->import->mutex);
+ pa_mutex_lock(import->mutex);
- pa_hashmap_remove(
- seg->import->blocks,
- PA_UINT32_TO_PTR(b->per_type.imported.id));
+ pa_assert_se(pa_hashmap_remove(
+ import->blocks,
+ PA_UINT32_TO_PTR(b->per_type.imported.id)));
memblock_make_local(b);
- if (-- seg->n_blocks <= 0) {
- pa_mutex_unlock(seg->import->mutex);
- segment_detach(seg);
- } else
- pa_mutex_unlock(seg->import->mutex);
+ pa_assert(segment->n_blocks >= 1);
+ if (-- segment->n_blocks <= 0)
+ segment_detach(segment);
+
+ pa_mutex_unlock(import->mutex);
}
pa_mempool* pa_mempool_new(pa_bool_t shared, size_t size) {
@@ -956,6 +962,11 @@ pa_memblock* pa_memimport_get(pa_memimport *i, uint32_t block_id, uint32_t shm_i
pa_mutex_lock(i->mutex);
+ if ((b = pa_hashmap_get(i->blocks, PA_UINT32_TO_PTR(block_id)))) {
+ pa_memblock_ref(b);
+ goto finish;
+ }
+
if (pa_hashmap_size(i->blocks) >= PA_MEMIMPORT_SLOTS_MAX)
goto finish;
@@ -985,12 +996,11 @@ pa_memblock* pa_memimport_get(pa_memimport *i, uint32_t block_id, uint32_t shm_i
seg->n_blocks++;
+ stat_add(b);
+
finish:
pa_mutex_unlock(i->mutex);
- if (b)
- stat_add(b);
-
return b;
}
diff --git a/src/pulsecore/memblockq.c b/src/pulsecore/memblockq.c
index 77f9efc9..32758be3 100644
--- a/src/pulsecore/memblockq.c
+++ b/src/pulsecore/memblockq.c
@@ -692,6 +692,12 @@ size_t pa_memblockq_get_minreq(pa_memblockq *bq) {
return bq->minreq;
}
+size_t pa_memblockq_get_maxrewind(pa_memblockq *bq) {
+ pa_assert(bq);
+
+ return bq->maxrewind;
+}
+
int64_t pa_memblockq_get_read_index(pa_memblockq *bq) {
pa_assert(bq);
diff --git a/src/pulsecore/memblockq.h b/src/pulsecore/memblockq.h
index 146d261b..587c364b 100644
--- a/src/pulsecore/memblockq.h
+++ b/src/pulsecore/memblockq.h
@@ -141,6 +141,9 @@ size_t pa_memblockq_get_prebuf(pa_memblockq *bq);
/* Returns the minimal request value */
size_t pa_memblockq_get_minreq(pa_memblockq *bq);
+/* Returns the maximal rewind value */
+size_t pa_memblockq_get_maxrewind(pa_memblockq *bq);
+
/* Return the base unit in bytes */
size_t pa_memblockq_get_base(pa_memblockq *bq);
diff --git a/src/pulsecore/memtrap.c b/src/pulsecore/memtrap.c
index e06f60ca..c647e507 100644
--- a/src/pulsecore/memtrap.c
+++ b/src/pulsecore/memtrap.c
@@ -37,6 +37,7 @@
#include <pulsecore/aupdate.h>
#include <pulsecore/atomic.h>
#include <pulsecore/once.h>
+#include <pulsecore/mutex.h>
#include "memtrap.h"
@@ -49,6 +50,7 @@ struct pa_memtrap {
static pa_memtrap *memtraps[2] = { NULL, NULL };
static pa_aupdate *aupdate;
+static pa_static_mutex mutex = PA_STATIC_MUTEX_INIT; /* only required to serialize access to the write side */
static void allocate_aupdate(void) {
PA_ONCE_BEGIN {
@@ -63,7 +65,7 @@ pa_bool_t pa_memtrap_is_good(pa_memtrap *m) {
}
static void sigsafe_error(const char *s) {
- write(STDERR_FILENO, s, strlen(s));
+ (void) write(STDERR_FILENO, s, strlen(s));
}
static void signal_handler(int sig, siginfo_t* si, void *data) {
@@ -124,6 +126,7 @@ static void memtrap_unlink(pa_memtrap *m, unsigned j) {
pa_memtrap* pa_memtrap_add(const void *start, size_t size) {
pa_memtrap *m = NULL;
unsigned j;
+ pa_mutex *mx;
pa_assert(start);
pa_assert(size > 0);
@@ -138,33 +141,45 @@ pa_memtrap* pa_memtrap_add(const void *start, size_t size) {
allocate_aupdate();
+ mx = pa_static_mutex_get(&mutex, FALSE, TRUE);
+ pa_mutex_lock(mx);
+
j = pa_aupdate_write_begin(aupdate);
memtrap_link(m, j);
j = pa_aupdate_write_swap(aupdate);
memtrap_link(m, j);
pa_aupdate_write_end(aupdate);
+ pa_mutex_unlock(mx);
+
return m;
}
void pa_memtrap_remove(pa_memtrap *m) {
unsigned j;
+ pa_mutex *mx;
pa_assert(m);
allocate_aupdate();
+ mx = pa_static_mutex_get(&mutex, FALSE, TRUE);
+ pa_mutex_lock(mx);
+
j = pa_aupdate_write_begin(aupdate);
memtrap_unlink(m, j);
j = pa_aupdate_write_swap(aupdate);
memtrap_unlink(m, j);
pa_aupdate_write_end(aupdate);
+ pa_mutex_unlock(mx);
+
pa_xfree(m);
}
pa_memtrap *pa_memtrap_update(pa_memtrap *m, const void *start, size_t size) {
unsigned j;
+ pa_mutex *mx;
pa_assert(m);
@@ -176,6 +191,9 @@ pa_memtrap *pa_memtrap_update(pa_memtrap *m, const void *start, size_t size) {
allocate_aupdate();
+ mx = pa_static_mutex_get(&mutex, FALSE, TRUE);
+ pa_mutex_lock(mx);
+
j = pa_aupdate_write_begin(aupdate);
if (m->start == start && m->size == size)
@@ -194,6 +212,8 @@ pa_memtrap *pa_memtrap_update(pa_memtrap *m, const void *start, size_t size) {
unlock:
pa_aupdate_write_end(aupdate);
+ pa_mutex_unlock(mx);
+
return m;
}
diff --git a/src/pulsecore/namereg.c b/src/pulsecore/namereg.c
index 046c87b2..d7d83c5e 100644
--- a/src/pulsecore/namereg.c
+++ b/src/pulsecore/namereg.c
@@ -167,26 +167,33 @@ void pa_namereg_unregister(pa_core *c, const char *name) {
pa_assert_se(e = pa_hashmap_remove(c->namereg, name));
if (c->default_sink == e->data) {
- pa_sink *new_default = pa_idxset_first(c->sinks, &idx);
+ pa_sink *new_default = NULL;
- if (new_default == e->data)
- new_default = pa_idxset_next(c->sinks, &idx);
+ /* FIXME: the selection here should be based priority values on
+ * the sinks */
+
+ PA_IDXSET_FOREACH(new_default, c->sinks, idx) {
+ if (new_default != e->data && PA_SINK_IS_LINKED(pa_sink_get_state(new_default)))
+ break;
+ }
pa_namereg_set_default_sink(c, new_default);
} else if (c->default_source == e->data) {
- pa_source *new_default;
+ pa_source *new_default = NULL;
- for (new_default = pa_idxset_first(c->sources, &idx); new_default; new_default = pa_idxset_next(c->sources, &idx)) {
- if (new_default != e->data && !new_default->monitor_of)
+ /* First, try to find one that isn't a monitor */
+ PA_IDXSET_FOREACH(new_default, c->sources, idx) {
+ if (new_default != e->data && !new_default->monitor_of && PA_SOURCE_IS_LINKED(pa_source_get_state(new_default)))
break;
}
if (!new_default) {
- new_default = pa_idxset_first(c->sources, &idx);
-
- if (new_default == e->data)
- new_default = pa_idxset_next(c->sources, &idx);
+ /* Then, fallback to a monitor */
+ PA_IDXSET_FOREACH(new_default, c->sources, idx) {
+ if (new_default != e->data && PA_SOURCE_IS_LINKED(pa_source_get_state(new_default)))
+ break;
+ }
}
pa_namereg_set_default_source(c, new_default);
@@ -249,6 +256,9 @@ void* pa_namereg_get(pa_core *c, const char *name, pa_namereg_type_t type) {
pa_sink* pa_namereg_set_default_sink(pa_core*c, pa_sink *s) {
pa_assert(c);
+ if (s && !PA_SINK_IS_LINKED(pa_sink_get_state(s)))
+ return NULL;
+
if (c->default_sink != s) {
c->default_sink = s;
pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX);
@@ -260,6 +270,9 @@ pa_sink* pa_namereg_set_default_sink(pa_core*c, pa_sink *s) {
pa_source* pa_namereg_set_default_source(pa_core*c, pa_source *s) {
pa_assert(c);
+ if (s && !PA_SOURCE_IS_LINKED(pa_source_get_state(s)))
+ return NULL;
+
if (c->default_source != s) {
c->default_source = s;
pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX);
@@ -270,14 +283,47 @@ pa_source* pa_namereg_set_default_source(pa_core*c, pa_source *s) {
/* XXX: After removing old functionality, has this function become useless? */
pa_sink *pa_namereg_get_default_sink(pa_core *c) {
+ pa_sink *s;
+ uint32_t idx;
+
pa_assert(c);
- return c->default_sink;
+ if (!c->default_sink || PA_SINK_IS_LINKED(pa_sink_get_state(c->default_sink)))
+ return c->default_sink;
+
+ /* The old default sink has become unlinked, set a new one. */
+
+ /* FIXME: the selection here should be based priority values on
+ * the sinks */
+
+ PA_IDXSET_FOREACH(s, c->sinks, idx)
+ if (PA_SINK_IS_LINKED(pa_sink_get_state(s)))
+ return pa_namereg_set_default_sink(c, s);
+
+ return pa_namereg_set_default_sink(c, NULL);
}
/* XXX: After removing old functionality, has this function become useless? */
pa_source *pa_namereg_get_default_source(pa_core *c) {
+ pa_source *s;
+ uint32_t idx;
+
pa_assert(c);
- return c->default_source;
+ if (!c->default_source || PA_SOURCE_IS_LINKED(pa_source_get_state(c->default_source)))
+ return c->default_source;
+
+ /* The old default source has become unlinked, set a new one. */
+
+ /* First, try to find one that isn't a monitor */
+ PA_IDXSET_FOREACH(s, c->sources, idx)
+ if (!s->monitor_of && PA_SOURCE_IS_LINKED(pa_source_get_state(s)))
+ return pa_namereg_set_default_source(c, s);
+
+ /* Then, fallback to a monitor */
+ PA_IDXSET_FOREACH(s, c->sources, idx)
+ if (PA_SOURCE_IS_LINKED(pa_source_get_state(s)))
+ return pa_namereg_set_default_source(c, s);
+
+ return pa_namereg_set_default_source(c, NULL);
}
diff --git a/src/pulsecore/proplist-util.c b/src/pulsecore/proplist-util.c
index d9769bc7..23864bcb 100644
--- a/src/pulsecore/proplist-util.c
+++ b/src/pulsecore/proplist-util.c
@@ -186,10 +186,12 @@ void pa_init_proplist(pa_proplist *p) {
}
if (!pa_proplist_contains(p, PA_PROP_APPLICATION_PROCESS_BINARY)) {
- char t[PATH_MAX];
- if (pa_get_binary_name(t, sizeof(t))) {
+ char *t;
+
+ if ((t = pa_get_binary_name_malloc())) {
char *c = pa_utf8_filter(t);
pa_proplist_sets(p, PA_PROP_APPLICATION_PROCESS_BINARY, c);
+ pa_xfree(t);
pa_xfree(c);
}
}
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
index cda7ef57..280707e2 100644
--- a/src/pulsecore/protocol-native.c
+++ b/src/pulsecore/protocol-native.c
@@ -762,6 +762,7 @@ static int playback_stream_process_msg(pa_msgobject *o, int code, void*userdata,
return -1;
switch (code) {
+
case PLAYBACK_STREAM_MESSAGE_REQUEST_DATA: {
pa_tagstruct *t;
int l = 0;
@@ -1130,6 +1131,12 @@ static void playback_stream_request_bytes(playback_stream *s) {
m = pa_memblockq_pop_missing(s->memblockq);
+ /* pa_log("request_bytes(%lu) (tlength=%lu minreq=%lu length=%lu)", */
+ /* (unsigned long) m, */
+ /* pa_memblockq_get_tlength(s->memblockq), */
+ /* pa_memblockq_get_minreq(s->memblockq), */
+ /* pa_memblockq_get_length(s->memblockq)); */
+
if (m <= 0)
return;
@@ -1143,7 +1150,6 @@ static void playback_stream_request_bytes(playback_stream *s) {
pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(s), PLAYBACK_STREAM_MESSAGE_REQUEST_DATA, NULL, 0, NULL, NULL);
}
-
/* Called from main context */
static void playback_stream_send_killed(playback_stream *p) {
pa_tagstruct *t;
@@ -1345,7 +1351,9 @@ static int sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int
/* pa_log("sink input post: %lu %lli", (unsigned long) chunk->length, (long long) windex); */
if (pa_memblockq_push_align(s->memblockq, chunk) < 0) {
- pa_log_warn("Failed to push data into queue");
+
+ if (pa_log_ratelimit())
+ pa_log_warn("Failed to push data into queue");
pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(s), PLAYBACK_STREAM_MESSAGE_OVERFLOW, NULL, 0, NULL, NULL);
pa_memblockq_seek(s->memblockq, (int64_t) chunk->length, PA_SEEK_RELATIVE, TRUE);
}
@@ -1617,6 +1625,9 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {
s = PLAYBACK_STREAM(i->userdata);
playback_stream_assert_ref(s);
+ if (!dest)
+ return;
+
fix_playback_buffer_attr(s);
pa_memblockq_apply_attr(s->memblockq, &s->buffer_attr);
pa_memblockq_get_attr(s->memblockq, &s->buffer_attr);
@@ -1752,6 +1763,9 @@ static void source_output_moving_cb(pa_source_output *o, pa_source *dest) {
s = RECORD_STREAM(o->userdata);
record_stream_assert_ref(s);
+ if (!dest)
+ return;
+
fix_record_buffer_attr_pre(s);
pa_memblockq_set_maxlength(s->memblockq, s->buffer_attr.maxlength);
pa_memblockq_get_attr(s->memblockq, &s->buffer_attr);
@@ -1951,7 +1965,7 @@ static void command_create_playback_stream(pa_pdispatch *pd, uint32_t command, u
(no_move ? PA_SINK_INPUT_DONT_MOVE : 0) |
(variable_rate ? PA_SINK_INPUT_VARIABLE_RATE : 0) |
(dont_inhibit_auto_suspend ? PA_SINK_INPUT_DONT_INHIBIT_AUTO_SUSPEND : 0) |
- (fail_on_suspend ? PA_SINK_INPUT_FAIL_ON_SUSPEND : 0);
+ (fail_on_suspend ? PA_SINK_INPUT_NO_CREATE_ON_SUSPEND|PA_SINK_INPUT_KILL_ON_SUSPEND : 0);
/* Only since protocol version 15 there's a seperate muted_set
* flag. For older versions we synthesize it here */
@@ -2207,7 +2221,7 @@ static void command_create_record_stream(pa_pdispatch *pd, uint32_t command, uin
(no_move ? PA_SOURCE_OUTPUT_DONT_MOVE : 0) |
(variable_rate ? PA_SOURCE_OUTPUT_VARIABLE_RATE : 0) |
(dont_inhibit_auto_suspend ? PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPEND : 0) |
- (fail_on_suspend ? PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND : 0);
+ (fail_on_suspend ? PA_SOURCE_OUTPUT_NO_CREATE_ON_SUSPEND|PA_SOURCE_OUTPUT_KILL_ON_SUSPEND : 0);
s = record_stream_new(c, source, &ss, &map, peak_detect, &attr, flags, p, adjust_latency, direct_on_input, early_requests, &ret);
pa_proplist_free(p);
@@ -2550,7 +2564,7 @@ static void command_get_playback_latency(pa_pdispatch *pd, uint32_t command, uin
reply = reply_new(tag);
pa_tagstruct_put_usec(reply,
s->current_sink_latency +
- pa_bytes_to_usec(s->render_memblockq_length, &s->sink_input->sample_spec));
+ pa_bytes_to_usec(s->render_memblockq_length, &s->sink_input->sink->sample_spec));
pa_tagstruct_put_usec(reply, 0);
pa_tagstruct_put_boolean(reply,
s->playing_for > 0 &&
@@ -2689,7 +2703,9 @@ static void command_finish_upload_stream(pa_pdispatch *pd, uint32_t command, uin
CHECK_VALIDITY(c->pstream, s, tag, PA_ERR_NOENTITY);
CHECK_VALIDITY(c->pstream, upload_stream_isinstance(s), tag, PA_ERR_NOENTITY);
- if (pa_scache_add_item(c->protocol->core, s->name, &s->sample_spec, &s->channel_map, &s->memchunk, s->proplist, &idx) < 0)
+ if (!s->memchunk.memblock)
+ pa_pstream_send_error(c->pstream, tag, PA_ERR_TOOLARGE);
+ else if (pa_scache_add_item(c->protocol->core, s->name, &s->sample_spec, &s->channel_map, &s->memchunk, s->proplist, &idx) < 0)
pa_pstream_send_error(c->pstream, tag, PA_ERR_INTERNAL);
else
pa_pstream_send_simple_ack(c->pstream, tag);
@@ -3321,6 +3337,7 @@ static void command_set_volume(
pa_source *source = NULL;
pa_sink_input *si = NULL;
const char *name = NULL;
+ const char *client_name;
pa_native_connection_assert_ref(c);
pa_assert(t);
@@ -3367,12 +3384,20 @@ static void command_set_volume(
CHECK_VALIDITY(c->pstream, si || sink || source, tag, PA_ERR_NOENTITY);
- if (sink)
+ client_name = pa_strnull(pa_proplist_gets(c->client->proplist, PA_PROP_APPLICATION_PROCESS_BINARY));
+
+ if (sink) {
+ pa_log_debug("Client %s changes volume of sink %s.", client_name, sink->name);
pa_sink_set_volume(sink, &volume, TRUE, TRUE, TRUE, TRUE);
- else if (source)
+ } else if (source) {
+ pa_log_debug("Client %s changes volume of sink %s.", client_name, source->name);
pa_source_set_volume(source, &volume, TRUE);
- else if (si)
+ } else if (si) {
+ pa_log_debug("Client %s changes volume of sink %s.",
+ client_name,
+ pa_strnull(pa_proplist_gets(si->proplist, PA_PROP_MEDIA_NAME)));
pa_sink_input_set_volume(si, &volume, TRUE, TRUE);
+ }
pa_pstream_send_simple_ack(c->pstream, tag);
}
diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c
index 17fb8480..59e0a0c1 100644
--- a/src/pulsecore/resampler.c
+++ b/src/pulsecore/resampler.c
@@ -347,13 +347,17 @@ void pa_resampler_set_output_rate(pa_resampler *r, uint32_t rate) {
size_t pa_resampler_request(pa_resampler *r, size_t out_length) {
pa_assert(r);
- return (((out_length / r->o_fz)*r->i_ss.rate)/r->o_ss.rate) * r->i_fz;
+ /* Let's round up here */
+
+ return (((((out_length + r->o_fz-1) / r->o_fz) * r->i_ss.rate) + r->o_ss.rate-1) / r->o_ss.rate) * r->i_fz;
}
size_t pa_resampler_result(pa_resampler *r, size_t in_length) {
pa_assert(r);
- return (((in_length / r->i_fz)*r->o_ss.rate)/r->i_ss.rate) * r->o_fz;
+ /* Let's round up here */
+
+ return (((((in_length + r->i_fz-1) / r->i_fz) * r->o_ss.rate) + r->i_ss.rate-1) / r->i_ss.rate) * r->o_fz;
}
size_t pa_resampler_max_block_size(pa_resampler *r) {
diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c
index 6e428426..fbf777a4 100644
--- a/src/pulsecore/shm.c
+++ b/src/pulsecore/shm.c
@@ -60,7 +60,8 @@
#define MADV_REMOVE 9
#endif
-#define MAX_SHM_SIZE (PA_ALIGN(1024*1024*64))
+/* 1 GiB at max */
+#define MAX_SHM_SIZE (PA_ALIGN(1024*1024*1024))
#ifdef __linux__
/* On Linux we know that the shared memory blocks are files in
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index a5f96351..f6d9ac73 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
@@ -51,7 +51,7 @@ static void sink_input_free(pa_object *o);
pa_sink_input_new_data* pa_sink_input_new_data_init(pa_sink_input_new_data *data) {
pa_assert(data);
- memset(data, 0, sizeof(*data));
+ pa_zero(*data);
data->resample_method = PA_RESAMPLER_INVALID;
data->proplist = pa_proplist_new();
@@ -114,6 +114,7 @@ static void reset_callbacks(pa_sink_input *i) {
i->update_max_request = NULL;
i->update_sink_requested_latency = NULL;
i->update_sink_latency_range = NULL;
+ i->update_sink_fixed_latency = NULL;
i->attach = NULL;
i->detach = NULL;
i->suspend = NULL;
@@ -142,6 +143,7 @@ int pa_sink_input_new(
pa_assert(_i);
pa_assert(core);
pa_assert(data);
+ pa_assert_ctl_context();
if (data->client)
pa_proplist_update(data->proplist, PA_UPDATE_MERGE, data->client->proplist);
@@ -220,7 +222,7 @@ int pa_sink_input_new(
if ((r = pa_hook_fire(&core->hooks[PA_CORE_HOOK_SINK_INPUT_FIXATE], data)) < 0)
return r;
- if ((flags & PA_SINK_INPUT_FAIL_ON_SUSPEND) &&
+ if ((flags & PA_SINK_INPUT_NO_CREATE_ON_SUSPEND) &&
pa_sink_get_state(data->sink) == PA_SINK_SUSPENDED) {
pa_log_warn("Failed to create sink input: sink is suspended.");
return -PA_ERR_BADSTATE;
@@ -348,6 +350,7 @@ int pa_sink_input_new(
/* Called from main context */
static void update_n_corked(pa_sink_input *i, pa_sink_input_state_t state) {
pa_assert(i);
+ pa_assert_ctl_context();
if (!i->sink)
return;
@@ -362,6 +365,7 @@ static void update_n_corked(pa_sink_input *i, pa_sink_input_state_t state) {
static void sink_input_set_state(pa_sink_input *i, pa_sink_input_state_t state) {
pa_sink_input *ssync;
pa_assert(i);
+ pa_assert_ctl_context();
if (state == PA_SINK_INPUT_DRAINED)
state = PA_SINK_INPUT_RUNNING;
@@ -400,7 +404,9 @@ static void sink_input_set_state(pa_sink_input *i, pa_sink_input_state_t state)
void pa_sink_input_unlink(pa_sink_input *i) {
pa_bool_t linked;
pa_source_output *o, *p = NULL;
+
pa_assert(i);
+ pa_assert_ctl_context();
/* See pa_sink_unlink() for a couple of comments how this function
* works */
@@ -471,6 +477,7 @@ static void sink_input_free(pa_object *o) {
pa_sink_input* i = PA_SINK_INPUT(o);
pa_assert(i);
+ pa_assert_ctl_context();
pa_assert(pa_sink_input_refcnt(i) == 0);
if (PA_SINK_INPUT_IS_LINKED(i->state))
@@ -502,7 +509,9 @@ static void sink_input_free(pa_object *o) {
/* Called from main context */
void pa_sink_input_put(pa_sink_input *i) {
pa_sink_input_state_t state;
+
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(i->state == PA_SINK_INPUT_INIT);
@@ -538,6 +547,7 @@ void pa_sink_input_put(pa_sink_input *i) {
/* Called from main context */
void pa_sink_input_kill(pa_sink_input*i) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
i->kill(i);
@@ -548,6 +558,7 @@ pa_usec_t pa_sink_input_get_latency(pa_sink_input *i, pa_usec_t *sink_latency) {
pa_usec_t r[2] = { 0, 0 };
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_GET_LATENCY, r, 0, NULL) == 0);
@@ -569,6 +580,7 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink frames */, p
size_t ilength;
pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));
pa_assert(pa_frame_aligned(slength, &i->sink->sample_spec));
pa_assert(chunk);
@@ -706,8 +718,9 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink frames */, p
/* Called from thread context */
void pa_sink_input_drop(pa_sink_input *i, size_t nbytes /* in sink sample spec */) {
- pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));
pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec));
pa_assert(nbytes > 0);
@@ -721,8 +734,9 @@ void pa_sink_input_drop(pa_sink_input *i, size_t nbytes /* in sink sample spec *
void pa_sink_input_process_rewind(pa_sink_input *i, size_t nbytes /* in sink sample spec */) {
size_t lbq;
pa_bool_t called = FALSE;
- pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));
pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec));
@@ -790,8 +804,28 @@ void pa_sink_input_process_rewind(pa_sink_input *i, size_t nbytes /* in sink sam
}
/* Called from thread context */
+size_t pa_sink_input_get_max_rewind(pa_sink_input *i) {
+ pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
+
+ return i->thread_info.resampler ? pa_resampler_request(i->thread_info.resampler, i->sink->thread_info.max_rewind) : i->sink->thread_info.max_rewind;
+}
+
+/* Called from thread context */
+size_t pa_sink_input_get_max_request(pa_sink_input *i) {
+ pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
+
+ /* We're not verifying the status here, to allow this to be called
+ * in the state change handler between _INIT and _RUNNING */
+
+ return i->thread_info.resampler ? pa_resampler_request(i->thread_info.resampler, i->sink->thread_info.max_request) : i->sink->thread_info.max_request;
+}
+
+/* Called from thread context */
void pa_sink_input_update_max_rewind(pa_sink_input *i, size_t nbytes /* in the sink's sample spec */) {
pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));
pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec));
@@ -804,6 +838,7 @@ void pa_sink_input_update_max_rewind(pa_sink_input *i, size_t nbytes /* in the
/* Called from thread context */
void pa_sink_input_update_max_request(pa_sink_input *i, size_t nbytes /* in the sink's sample spec */) {
pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));
pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec));
@@ -814,15 +849,16 @@ void pa_sink_input_update_max_request(pa_sink_input *i, size_t nbytes /* in the
/* Called from thread context */
pa_usec_t pa_sink_input_set_requested_latency_within_thread(pa_sink_input *i, pa_usec_t usec) {
pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
if (!(i->sink->flags & PA_SINK_DYNAMIC_LATENCY))
- usec = i->sink->fixed_latency;
+ usec = i->sink->thread_info.fixed_latency;
if (usec != (pa_usec_t) -1)
usec = PA_CLAMP(usec, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency);
i->thread_info.requested_sink_latency = usec;
- pa_sink_invalidate_requested_latency(i->sink);
+ pa_sink_invalidate_requested_latency(i->sink, TRUE);
return usec;
}
@@ -830,6 +866,7 @@ pa_usec_t pa_sink_input_set_requested_latency_within_thread(pa_sink_input *i, pa
/* Called from main context */
pa_usec_t pa_sink_input_set_requested_latency(pa_sink_input *i, pa_usec_t usec) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
if (PA_SINK_INPUT_IS_LINKED(i->state) && i->sink) {
pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_SET_REQUESTED_LATENCY, &usec, 0, NULL) == 0);
@@ -841,7 +878,7 @@ pa_usec_t pa_sink_input_set_requested_latency(pa_sink_input *i, pa_usec_t usec)
if (i->sink) {
if (!(i->sink->flags & PA_SINK_DYNAMIC_LATENCY))
- usec = i->sink->fixed_latency;
+ usec = pa_sink_get_fixed_latency(i->sink);
if (usec != (pa_usec_t) -1) {
pa_usec_t min_latency, max_latency;
@@ -858,6 +895,7 @@ pa_usec_t pa_sink_input_set_requested_latency(pa_sink_input *i, pa_usec_t usec)
/* Called from main context */
pa_usec_t pa_sink_input_get_requested_latency(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
if (PA_SINK_INPUT_IS_LINKED(i->state) && i->sink) {
pa_usec_t usec = 0;
@@ -876,6 +914,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, pa_boo
pa_cvolume v;
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
pa_assert(volume);
pa_assert(pa_cvolume_valid(volume));
@@ -922,6 +961,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, pa_boo
/* Called from main context */
pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i, pa_cvolume *volume, pa_bool_t absolute) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
if ((i->sink->flags & PA_SINK_FLAT_VOLUME) && !absolute) {
@@ -939,6 +979,7 @@ pa_cvolume *pa_sink_input_get_relative_volume(pa_sink_input *i, pa_cvolume *v) {
unsigned c;
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(v);
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
@@ -959,6 +1000,7 @@ void pa_sink_input_set_relative_volume(pa_sink_input *i, const pa_cvolume *v) {
pa_cvolume _v;
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
pa_assert(!v || pa_cvolume_compatible(v, &i->sample_spec));
@@ -985,8 +1027,8 @@ void pa_sink_input_set_relative_volume(pa_sink_input *i, const pa_cvolume *v) {
/* Called from main context */
void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute, pa_bool_t save) {
- pa_assert(i);
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
if (!i->muted == !mute)
@@ -1002,6 +1044,7 @@ void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute, pa_bool_t save) {
/* Called from main context */
pa_bool_t pa_sink_input_get_mute(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
return i->muted;
@@ -1010,6 +1053,7 @@ pa_bool_t pa_sink_input_get_mute(pa_sink_input *i) {
/* Called from main thread */
void pa_sink_input_update_proplist(pa_sink_input *i, pa_update_mode_t mode, pa_proplist *p) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
if (p)
pa_proplist_update(i->proplist, mode, p);
@@ -1023,6 +1067,7 @@ void pa_sink_input_update_proplist(pa_sink_input *i, pa_update_mode_t mode, pa_p
/* Called from main context */
void pa_sink_input_cork(pa_sink_input *i, pa_bool_t b) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
sink_input_set_state(i, b ? PA_SINK_INPUT_CORKED : PA_SINK_INPUT_RUNNING);
@@ -1031,6 +1076,7 @@ void pa_sink_input_cork(pa_sink_input *i, pa_bool_t b) {
/* Called from main context */
int pa_sink_input_set_rate(pa_sink_input *i, uint32_t rate) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
pa_return_val_if_fail(i->thread_info.resampler, -PA_ERR_BADSTATE);
@@ -1049,13 +1095,14 @@ int pa_sink_input_set_rate(pa_sink_input *i, uint32_t rate) {
void pa_sink_input_set_name(pa_sink_input *i, const char *name) {
const char *old;
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
if (!name && !pa_proplist_contains(i->proplist, PA_PROP_MEDIA_NAME))
return;
old = pa_proplist_gets(i->proplist, PA_PROP_MEDIA_NAME);
- if (old && name && !strcmp(old, name))
+ if (old && name && pa_streq(old, name))
return;
if (name)
@@ -1072,6 +1119,7 @@ void pa_sink_input_set_name(pa_sink_input *i, const char *name) {
/* Called from main context */
pa_resample_method_t pa_sink_input_get_resample_method(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
return i->actual_resample_method;
}
@@ -1079,6 +1127,7 @@ pa_resample_method_t pa_sink_input_get_resample_method(pa_sink_input *i) {
/* Called from main context */
pa_bool_t pa_sink_input_may_move(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
if (i->flags & PA_SINK_INPUT_DONT_MOVE)
@@ -1095,6 +1144,7 @@ pa_bool_t pa_sink_input_may_move(pa_sink_input *i) {
/* Called from main context */
pa_bool_t pa_sink_input_may_move_to(pa_sink_input *i, pa_sink *dest) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
pa_sink_assert_ref(dest);
@@ -1123,6 +1173,7 @@ int pa_sink_input_start_move(pa_sink_input *i) {
int r;
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
pa_assert(i->sink);
@@ -1177,6 +1228,7 @@ int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {
pa_resampler *new_resampler;
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
pa_assert(!i->sink);
pa_sink_assert_ref(dest);
@@ -1267,10 +1319,29 @@ int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {
}
/* Called from main context */
+void pa_sink_input_fail_move(pa_sink_input *i) {
+
+ pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
+ pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
+ pa_assert(!i->sink);
+
+ /* Check if someone wants this sink input? */
+ if (pa_hook_fire(&i->core->hooks[PA_CORE_HOOK_SINK_INPUT_MOVE_FAIL], i) == PA_HOOK_STOP)
+ return;
+
+ if (i->moving)
+ i->moving(i, NULL);
+
+ pa_sink_input_kill(i);
+}
+
+/* Called from main context */
int pa_sink_input_move_to(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {
int r;
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
pa_assert(i->sink);
pa_sink_assert_ref(dest);
@@ -1289,6 +1360,7 @@ int pa_sink_input_move_to(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {
}
if ((r = pa_sink_input_finish_move(i, dest, save)) < 0) {
+ pa_sink_input_fail_move(i);
pa_sink_input_unref(i);
return r;
}
@@ -1301,7 +1373,9 @@ int pa_sink_input_move_to(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {
/* Called from IO thread context */
void pa_sink_input_set_state_within_thread(pa_sink_input *i, pa_sink_input_state_t state) {
pa_bool_t corking, uncorking;
+
pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
if (state == i->thread_info.state)
return;
@@ -1411,6 +1485,7 @@ int pa_sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int64_t
/* Called from main thread */
pa_sink_input_state_t pa_sink_input_get_state(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
if (i->state == PA_SINK_INPUT_RUNNING || i->state == PA_SINK_INPUT_DRAINED)
return pa_atomic_load(&i->thread_info.drained) ? PA_SINK_INPUT_DRAINED : PA_SINK_INPUT_RUNNING;
@@ -1421,6 +1496,7 @@ pa_sink_input_state_t pa_sink_input_get_state(pa_sink_input *i) {
/* Called from IO context */
pa_bool_t pa_sink_input_safe_to_remove(pa_sink_input *i) {
pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
if (PA_SINK_INPUT_IS_LINKED(i->thread_info.state))
return pa_memblockq_is_empty(i->thread_info.render_memblockq);
@@ -1445,6 +1521,7 @@ void pa_sink_input_request_rewind(pa_sink_input *i, size_t nbytes /* in our sam
* rewound. */
pa_sink_input_assert_ref(i);
+ pa_sink_input_assert_io_context(i);
nbytes = PA_MAX(i->thread_info.rewrite_nbytes, nbytes);
@@ -1511,8 +1588,11 @@ void pa_sink_input_request_rewind(pa_sink_input *i, size_t nbytes /* in our sam
/* Called from main context */
pa_memchunk* pa_sink_input_get_silence(pa_sink_input *i, pa_memchunk *ret) {
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(ret);
+ /* FIXME: Shouldn't access resampler object from main context! */
+
pa_silence_memchunk_get(
&i->core->silence_cache,
i->core->mempool,
@@ -1529,6 +1609,7 @@ void pa_sink_input_send_event(pa_sink_input *i, const char *event, pa_proplist *
pa_sink_input_send_event_hook_data hook_data;
pa_sink_input_assert_ref(i);
+ pa_assert_ctl_context();
pa_assert(event);
if (!i->send_event)
diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h
index 98144d41..b5502c45 100644
--- a/src/pulsecore/sink-input.h
+++ b/src/pulsecore/sink-input.h
@@ -42,6 +42,7 @@ typedef enum pa_sink_input_state {
PA_SINK_INPUT_RUNNING, /*< The stream is alive and kicking */
PA_SINK_INPUT_CORKED, /*< The stream was corked on user request */
PA_SINK_INPUT_UNLINKED /*< The stream is dead */
+ /* FIXME: we need a state for MOVING here */
} pa_sink_input_state_t;
static inline pa_bool_t PA_SINK_INPUT_IS_LINKED(pa_sink_input_state_t x) {
@@ -58,7 +59,8 @@ typedef enum pa_sink_input_flags {
PA_SINK_INPUT_FIX_RATE = 64,
PA_SINK_INPUT_FIX_CHANNELS = 128,
PA_SINK_INPUT_DONT_INHIBIT_AUTO_SUSPEND = 256,
- PA_SINK_INPUT_FAIL_ON_SUSPEND = 512
+ PA_SINK_INPUT_NO_CREATE_ON_SUSPEND = 512,
+ PA_SINK_INPUT_KILL_ON_SUSPEND = 1024
} pa_sink_input_flags_t;
struct pa_sink_input {
@@ -137,6 +139,10 @@ struct pa_sink_input {
* from IO context. */
void (*update_sink_latency_range) (pa_sink_input *i); /* may be NULL */
+ /* Called whenver the fixed latency of the sink changes, if there
+ * is one. Called from IO context. */
+ void (*update_sink_fixed_latency) (pa_sink_input *i); /* may be NULL */
+
/* If non-NULL this function is called when the input is first
* connected to a sink or when the rtpoll/asyncmsgq fields
* change. You usually don't need to implement this function
@@ -159,7 +165,9 @@ struct pa_sink_input {
/* If non-NULL called whenever the sink input is moved to a new
* sink. Called from main context after the sink input has been
* detached from the old sink and before it has been attached to
- * the new sink. */
+ * the new sink. If dest is NULL the move was executed in two
+ * phases and the second one failed; the stream will be destroyed
+ * after this call. */
void (*moving) (pa_sink_input *i, pa_sink *dest); /* may be NULL */
/* Supposed to unlink and destroy this stream. Called from main
@@ -303,6 +311,10 @@ void pa_sink_input_cork(pa_sink_input *i, pa_bool_t b);
int pa_sink_input_set_rate(pa_sink_input *i, uint32_t rate);
+/* This returns the sink's fields converted into out sample type */
+size_t pa_sink_input_get_max_rewind(pa_sink_input *i);
+size_t pa_sink_input_get_max_request(pa_sink_input *i);
+
/* Callable by everyone from main thread*/
/* External code may request disconnection with this function */
@@ -333,6 +345,7 @@ pa_bool_t pa_sink_input_may_move_to(pa_sink_input *i, pa_sink *dest); /* may thi
* new sink */
int pa_sink_input_start_move(pa_sink_input *i);
int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save);
+void pa_sink_input_fail_move(pa_sink_input *i);
pa_sink_input_state_t pa_sink_input_get_state(pa_sink_input *i);
@@ -359,4 +372,7 @@ pa_memchunk* pa_sink_input_get_silence(pa_sink_input *i, pa_memchunk *ret);
/* To be used by sink.c only */
void pa_sink_input_set_relative_volume(pa_sink_input *i, const pa_cvolume *v);
+#define pa_sink_input_assert_io_context(s) \
+ pa_assert(pa_thread_mq_get() || !PA_SINK_INPUT_IS_LINKED((s)->state))
+
#endif
diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index d8f3c7d1..717584f2 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
@@ -59,7 +59,7 @@ static void sink_free(pa_object *s);
pa_sink_new_data* pa_sink_new_data_init(pa_sink_new_data *data) {
pa_assert(data);
- memset(data, 0, sizeof(*data));
+ pa_zero(*data);
data->proplist = pa_proplist_new();
return data;
@@ -177,6 +177,7 @@ pa_sink* pa_sink_new(
pa_assert(core);
pa_assert(data);
pa_assert(data->name);
+ pa_assert_ctl_context();
s = pa_msgobject_new(pa_sink);
@@ -255,13 +256,10 @@ pa_sink* pa_sink_new(
s->muted = data->muted;
s->refresh_volume = s->refresh_muted = FALSE;
- s->fixed_latency = flags & PA_SINK_DYNAMIC_LATENCY ? 0 : DEFAULT_FIXED_LATENCY;
-
reset_callbacks(s);
s->userdata = NULL;
s->asyncmsgq = NULL;
- s->rtpoll = NULL;
/* As a minor optimization we just steal the list instead of
* copying it here */
@@ -294,6 +292,7 @@ pa_sink* pa_sink_new(
&s->sample_spec,
0);
+ s->thread_info.rtpoll = NULL;
s->thread_info.inputs = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
s->thread_info.soft_volume = s->soft_volume;
s->thread_info.soft_muted = s->muted;
@@ -306,7 +305,9 @@ pa_sink* pa_sink_new(
s->thread_info.requested_latency = 0;
s->thread_info.min_latency = ABSOLUTE_MIN_LATENCY;
s->thread_info.max_latency = ABSOLUTE_MAX_LATENCY;
+ s->thread_info.fixed_latency = flags & PA_SINK_DYNAMIC_LATENCY ? 0 : DEFAULT_FIXED_LATENCY;
+ /* FIXME: This should probably be moved to pa_sink_put() */
pa_assert_se(pa_idxset_put(core->sinks, s, &s->index) >= 0);
if (s->card)
@@ -348,6 +349,7 @@ pa_sink* pa_sink_new(
s->monitor_source->monitor_of = s;
pa_source_set_latency_range(s->monitor_source, s->thread_info.min_latency, s->thread_info.max_latency);
+ pa_source_set_fixed_latency(s->monitor_source, s->thread_info.fixed_latency);
pa_source_set_max_rewind(s->monitor_source, s->thread_info.max_rewind);
return s;
@@ -360,6 +362,7 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
pa_sink_state_t original_state;
pa_assert(s);
+ pa_assert_ctl_context();
if (s->state == state)
return 0;
@@ -396,9 +399,9 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
/* We're suspending or resuming, tell everyone about it */
- for (i = PA_SINK_INPUT(pa_idxset_first(s->inputs, &idx)); i; i = PA_SINK_INPUT(pa_idxset_next(s->inputs, &idx)))
+ PA_IDXSET_FOREACH(i, s->inputs, idx)
if (s->state == PA_SINK_SUSPENDED &&
- (i->flags & PA_SINK_INPUT_FAIL_ON_SUSPEND))
+ (i->flags & PA_SINK_INPUT_KILL_ON_SUSPEND))
pa_sink_input_kill(i);
else if (i->suspend)
i->suspend(i, state == PA_SINK_SUSPENDED);
@@ -413,12 +416,12 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
/* Called from main context */
void pa_sink_put(pa_sink* s) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(s->state == PA_SINK_INIT);
/* The following fields must be initialized properly when calling _put() */
pa_assert(s->asyncmsgq);
- pa_assert(s->rtpoll);
pa_assert(s->thread_info.min_latency <= s->thread_info.max_latency);
/* Generally, flags should be initialized via pa_sink_new(). As a
@@ -436,11 +439,11 @@ void pa_sink_put(pa_sink* s) {
pa_assert((s->flags & PA_SINK_HW_VOLUME_CTRL) || (s->base_volume == PA_VOLUME_NORM && s->flags & PA_SINK_DECIBEL_VOLUME));
pa_assert(!(s->flags & PA_SINK_DECIBEL_VOLUME) || s->n_volume_steps == PA_VOLUME_NORM+1);
- pa_assert(!(s->flags & PA_SINK_DYNAMIC_LATENCY) == (s->fixed_latency != 0));
+ pa_assert(!(s->flags & PA_SINK_DYNAMIC_LATENCY) == (s->thread_info.fixed_latency != 0));
pa_assert(!(s->flags & PA_SINK_LATENCY) == !(s->monitor_source->flags & PA_SOURCE_LATENCY));
pa_assert(!(s->flags & PA_SINK_DYNAMIC_LATENCY) == !(s->monitor_source->flags & PA_SOURCE_DYNAMIC_LATENCY));
- pa_assert(s->monitor_source->fixed_latency == s->fixed_latency);
+ pa_assert(s->monitor_source->thread_info.fixed_latency == s->thread_info.fixed_latency);
pa_assert(s->monitor_source->thread_info.min_latency == s->thread_info.min_latency);
pa_assert(s->monitor_source->thread_info.max_latency == s->thread_info.max_latency);
@@ -458,6 +461,7 @@ void pa_sink_unlink(pa_sink* s) {
pa_sink_input *i, *j = NULL;
pa_assert(s);
+ pa_assert_ctl_context();
/* Please note that pa_sink_unlink() does more than simply
* reversing pa_sink_put(). It also undoes the registrations
@@ -507,6 +511,7 @@ static void sink_free(pa_object *o) {
pa_sink_input *i;
pa_assert(s);
+ pa_assert_ctl_context();
pa_assert(pa_sink_refcnt(s) == 0);
if (PA_SINK_IS_LINKED(s->state))
@@ -547,9 +552,10 @@ static void sink_free(pa_object *o) {
pa_xfree(s);
}
-/* Called from main context */
+/* Called from main context, and not while the IO thread is active, please */
void pa_sink_set_asyncmsgq(pa_sink *s, pa_asyncmsgq *q) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
s->asyncmsgq = q;
@@ -557,11 +563,32 @@ void pa_sink_set_asyncmsgq(pa_sink *s, pa_asyncmsgq *q) {
pa_source_set_asyncmsgq(s->monitor_source, q);
}
-/* Called from main context */
+/* Called from main context, and not while the IO thread is active, please */
+void pa_sink_update_flags(pa_sink *s, pa_sink_flags_t mask, pa_sink_flags_t value) {
+ pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
+
+ if (mask == 0)
+ return;
+
+ /* For now, allow only a minimal set of flags to be changed. */
+ pa_assert((mask & ~(PA_SINK_DYNAMIC_LATENCY|PA_SINK_LATENCY)) == 0);
+
+ s->flags = (s->flags & ~mask) | (value & mask);
+
+ pa_source_update_flags(s->monitor_source,
+ ((mask & PA_SINK_LATENCY) ? PA_SOURCE_LATENCY : 0) |
+ ((mask & PA_SINK_DYNAMIC_LATENCY) ? PA_SOURCE_DYNAMIC_LATENCY : 0),
+ ((value & PA_SINK_LATENCY) ? PA_SOURCE_LATENCY : 0) |
+ ((value & PA_SINK_DYNAMIC_LATENCY) ? PA_SINK_DYNAMIC_LATENCY : 0));
+}
+
+/* Called from IO context, or before _put() from main context */
void pa_sink_set_rtpoll(pa_sink *s, pa_rtpoll *p) {
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
- s->rtpoll = p;
+ s->thread_info.rtpoll = p;
if (s->monitor_source)
pa_source_set_rtpoll(s->monitor_source, p);
@@ -570,6 +597,7 @@ void pa_sink_set_rtpoll(pa_sink *s, pa_rtpoll *p) {
/* Called from main context */
int pa_sink_update_status(pa_sink*s) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
if (s->state == PA_SINK_SUSPENDED)
@@ -581,6 +609,7 @@ int pa_sink_update_status(pa_sink*s) {
/* Called from main context */
int pa_sink_suspend(pa_sink *s, pa_bool_t suspend, pa_suspend_cause_t cause) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
pa_assert(cause != 0);
@@ -609,6 +638,7 @@ pa_queue *pa_sink_move_all_start(pa_sink *s, pa_queue *q) {
uint32_t idx;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
if (!q)
@@ -633,12 +663,13 @@ void pa_sink_move_all_finish(pa_sink *s, pa_queue *q, pa_bool_t save) {
pa_sink_input *i;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
pa_assert(q);
while ((i = PA_SINK_INPUT(pa_queue_pop(q)))) {
if (pa_sink_input_finish_move(i, s, save) < 0)
- pa_sink_input_kill(i);
+ pa_sink_input_fail_move(i);
pa_sink_input_unref(i);
}
@@ -649,13 +680,13 @@ void pa_sink_move_all_finish(pa_sink *s, pa_queue *q, pa_bool_t save) {
/* Called from main context */
void pa_sink_move_all_fail(pa_queue *q) {
pa_sink_input *i;
+
+ pa_assert_ctl_context();
pa_assert(q);
while ((i = PA_SINK_INPUT(pa_queue_pop(q)))) {
- if (pa_hook_fire(&i->core->hooks[PA_CORE_HOOK_SINK_INPUT_MOVE_FAIL], i) == PA_HOOK_OK) {
- pa_sink_input_kill(i);
- pa_sink_input_unref(i);
- }
+ pa_sink_input_fail_move(i);
+ pa_sink_input_unref(i);
}
pa_queue_free(q, NULL, NULL);
@@ -665,11 +696,15 @@ void pa_sink_move_all_fail(pa_queue *q) {
void pa_sink_process_rewind(pa_sink *s, size_t nbytes) {
pa_sink_input *i;
void *state = NULL;
+
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
/* If nobody requested this and this is actually no real rewind
- * then we can short cut this */
+ * then we can short cut this. Please note that this means that
+ * not all rewind requests triggered upstream will always be
+ * translated in actual requests! */
if (!s->thread_info.rewind_requested && nbytes <= 0)
return;
@@ -682,7 +717,7 @@ void pa_sink_process_rewind(pa_sink *s, size_t nbytes) {
if (nbytes > 0)
pa_log_debug("Processing rewind...");
- while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) {
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state) {
pa_sink_input_assert_ref(i);
pa_sink_input_process_rewind(i, nbytes);
}
@@ -700,6 +735,7 @@ static unsigned fill_mix_info(pa_sink *s, size_t *length, pa_mix_info *info, uns
size_t mixlength = *length;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(info);
while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)) && maxinfo > 0) {
@@ -739,6 +775,7 @@ static void inputs_drop(pa_sink *s, pa_mix_info *info, unsigned n, pa_memchunk *
unsigned n_unreffed = 0;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(result);
pa_assert(result->memblock);
pa_assert(result->length > 0);
@@ -834,6 +871,7 @@ void pa_sink_render(pa_sink*s, size_t length, pa_memchunk *result) {
size_t block_size_max;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
pa_assert(pa_frame_aligned(length, &s->sample_spec));
pa_assert(result);
@@ -920,6 +958,7 @@ void pa_sink_render_into(pa_sink*s, pa_memchunk *target) {
size_t length, block_size_max;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
pa_assert(target);
pa_assert(target->memblock);
@@ -1003,6 +1042,7 @@ void pa_sink_render_into_full(pa_sink *s, pa_memchunk *target) {
size_t l, d;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
pa_assert(target);
pa_assert(target->memblock);
@@ -1037,6 +1077,7 @@ void pa_sink_render_full(pa_sink *s, size_t length, pa_memchunk *result) {
unsigned n;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
pa_assert(length > 0);
pa_assert(pa_frame_aligned(length, &s->sample_spec));
@@ -1128,6 +1169,7 @@ pa_usec_t pa_sink_get_latency(pa_sink *s) {
pa_usec_t usec = 0;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
/* The returned value is supposed to be in the time domain of the sound card! */
@@ -1149,6 +1191,7 @@ pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s) {
pa_msgobject *o;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
/* The returned value is supposed to be in the time domain of the sound card! */
@@ -1161,7 +1204,7 @@ pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s) {
o = PA_MSGOBJECT(s);
- /* We probably should make this a proper vtable callback instead of going through process_msg() */
+ /* FIXME: We probably should make this a proper vtable callback instead of going through process_msg() */
if (o->process_msg(o, PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0)
return -1;
@@ -1215,6 +1258,7 @@ void pa_sink_update_flat_volume(pa_sink *s, pa_cvolume *new_volume) {
uint32_t idx;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(new_volume);
pa_assert(PA_SINK_IS_LINKED(s->state));
pa_assert(s->flags & PA_SINK_FLAT_VOLUME);
@@ -1271,6 +1315,7 @@ void pa_sink_propagate_flat_volume(pa_sink *s) {
uint32_t idx;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
pa_assert(s->flags & PA_SINK_FLAT_VOLUME);
@@ -1319,6 +1364,7 @@ void pa_sink_set_volume(pa_sink *s, const pa_cvolume *volume, pa_bool_t propagat
pa_bool_t virtual_volume_changed;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
pa_assert(volume);
pa_assert(pa_cvolume_valid(volume));
@@ -1360,6 +1406,7 @@ void pa_sink_set_volume(pa_sink *s, const pa_cvolume *volume, pa_bool_t propagat
/* Called from main thread. Only to be called by sink implementor */
void pa_sink_set_soft_volume(pa_sink *s, const pa_cvolume *volume) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(volume);
s->soft_volume = *volume;
@@ -1373,6 +1420,8 @@ void pa_sink_set_soft_volume(pa_sink *s, const pa_cvolume *volume) {
/* Called from main thread */
const pa_cvolume *pa_sink_get_volume(pa_sink *s, pa_bool_t force_refresh, pa_bool_t reference) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
+ pa_assert(PA_SINK_IS_LINKED(s->state));
if (s->refresh_volume || force_refresh) {
struct pa_cvolume old_virtual_volume = s->virtual_volume;
@@ -1386,6 +1435,12 @@ const pa_cvolume *pa_sink_get_volume(pa_sink *s, pa_bool_t force_refresh, pa_boo
s->reference_volume = s->virtual_volume;
+ /* Something got changed in the hardware. It probably
+ * makes sense to save changed hw settings given that hw
+ * volume changes not triggered by PA are almost certainly
+ * done by the user. */
+ s->save_volume = TRUE;
+
if (s->flags & PA_SINK_FLAT_VOLUME)
pa_sink_propagate_flat_volume(s);
@@ -1397,17 +1452,17 @@ const pa_cvolume *pa_sink_get_volume(pa_sink *s, pa_bool_t force_refresh, pa_boo
}
/* Called from main thread */
-void pa_sink_volume_changed(pa_sink *s, const pa_cvolume *new_volume, pa_bool_t save) {
+void pa_sink_volume_changed(pa_sink *s, const pa_cvolume *new_volume) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
+ pa_assert(PA_SINK_IS_LINKED(s->state));
/* The sink implementor may call this if the volume changed to make sure everyone is notified */
- if (pa_cvolume_equal(&s->virtual_volume, new_volume)) {
- s->save_volume = s->save_volume || save;
+ if (pa_cvolume_equal(&s->virtual_volume, new_volume))
return;
- }
s->reference_volume = s->virtual_volume = *new_volume;
- s->save_volume = save;
+ s->save_volume = TRUE;
if (s->flags & PA_SINK_FLAT_VOLUME)
pa_sink_propagate_flat_volume(s);
@@ -1420,6 +1475,7 @@ void pa_sink_set_mute(pa_sink *s, pa_bool_t mute, pa_bool_t save) {
pa_bool_t old_muted;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
old_muted = s->muted;
@@ -1439,6 +1495,8 @@ void pa_sink_set_mute(pa_sink *s, pa_bool_t mute, pa_bool_t save) {
pa_bool_t pa_sink_get_mute(pa_sink *s, pa_bool_t force_refresh) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
+ pa_assert(PA_SINK_IS_LINKED(s->state));
if (s->refresh_muted || force_refresh) {
pa_bool_t old_muted = s->muted;
@@ -1449,6 +1507,8 @@ pa_bool_t pa_sink_get_mute(pa_sink *s, pa_bool_t force_refresh) {
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_GET_MUTE, NULL, 0, NULL) == 0);
if (old_muted != s->muted) {
+ s->save_muted = TRUE;
+
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
/* Make sure the soft mute status stays in sync */
@@ -1456,22 +1516,23 @@ pa_bool_t pa_sink_get_mute(pa_sink *s, pa_bool_t force_refresh) {
}
}
+
return s->muted;
}
/* Called from main thread */
-void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted, pa_bool_t save) {
+void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
+ pa_assert(PA_SINK_IS_LINKED(s->state));
/* The sink implementor may call this if the volume changed to make sure everyone is notified */
- if (s->muted == new_muted) {
- s->save_muted = s->save_muted || save;
+ if (s->muted == new_muted)
return;
- }
s->muted = new_muted;
- s->save_muted = save;
+ s->save_muted = TRUE;
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
}
@@ -1479,6 +1540,7 @@ void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted, pa_bool_t save) {
/* Called from main thread */
pa_bool_t pa_sink_update_proplist(pa_sink *s, pa_update_mode_t mode, pa_proplist *p) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
if (p)
pa_proplist_update(s->proplist, mode, p);
@@ -1492,16 +1554,18 @@ pa_bool_t pa_sink_update_proplist(pa_sink *s, pa_update_mode_t mode, pa_proplist
}
/* Called from main thread */
+/* FIXME -- this should be dropped and be merged into pa_sink_update_proplist() */
void pa_sink_set_description(pa_sink *s, const char *description) {
const char *old;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
if (!description && !pa_proplist_contains(s->proplist, PA_PROP_DEVICE_DESCRIPTION))
return;
old = pa_proplist_gets(s->proplist, PA_PROP_DEVICE_DESCRIPTION);
- if (old && description && !strcmp(old, description))
+ if (old && description && pa_streq(old, description))
return;
if (description)
@@ -1528,6 +1592,7 @@ unsigned pa_sink_linked_by(pa_sink *s) {
unsigned ret;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
ret = pa_idxset_size(s->inputs);
@@ -1546,6 +1611,7 @@ unsigned pa_sink_used_by(pa_sink *s) {
unsigned ret;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
ret = pa_idxset_size(s->inputs);
@@ -1564,6 +1630,7 @@ unsigned pa_sink_check_suspend(pa_sink *s) {
uint32_t idx;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
if (!PA_SINK_IS_LINKED(s->state))
return 0;
@@ -1597,8 +1664,9 @@ static void sync_input_volumes_within_thread(pa_sink *s) {
void *state = NULL;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
- while ((i = PA_SINK_INPUT(pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))) {
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state) {
if (pa_cvolume_equal(&i->thread_info.soft_volume, &i->soft_volume))
continue;
@@ -1701,7 +1769,7 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
if (pa_hashmap_remove(s->thread_info.inputs, PA_UINT32_TO_PTR(i->index)))
pa_sink_input_unref(i);
- pa_sink_invalidate_requested_latency(s);
+ pa_sink_invalidate_requested_latency(s, TRUE);
pa_sink_request_rewind(s, (size_t) -1);
/* In flat volume mode we need to update the volume as
@@ -1723,10 +1791,7 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
size_t sink_nbytes, total_nbytes;
/* Get the latency of the sink */
- if (!(s->flags & PA_SINK_LATENCY) ||
- PA_MSGOBJECT(s)->process_msg(PA_MSGOBJECT(s), PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0)
- usec = 0;
-
+ usec = pa_sink_get_latency_within_thread(s);
sink_nbytes = pa_usec_to_bytes(usec, &s->sample_spec);
total_nbytes = sink_nbytes + pa_memblockq_get_length(i->thread_info.render_memblockq);
@@ -1747,7 +1812,7 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
if (pa_hashmap_remove(s->thread_info.inputs, PA_UINT32_TO_PTR(i->index)))
pa_sink_input_unref(i);
- pa_sink_invalidate_requested_latency(s);
+ pa_sink_invalidate_requested_latency(s, TRUE);
pa_log_debug("Requesting rewind due to started move");
pa_sink_request_rewind(s, (size_t) -1);
@@ -1785,10 +1850,7 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
size_t nbytes;
/* Get the latency of the sink */
- if (!(s->flags & PA_SINK_LATENCY) ||
- PA_MSGOBJECT(s)->process_msg(PA_MSGOBJECT(s), PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0)
- usec = 0;
-
+ usec = pa_sink_get_latency_within_thread(s);
nbytes = pa_usec_to_bytes(usec, &s->sample_spec);
if (nbytes > 0)
@@ -1876,6 +1938,9 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
pa_usec_t *usec = userdata;
*usec = pa_sink_get_requested_latency_within_thread(s);
+ /* Yes, that's right, the IO thread will see -1 when no
+ * explicit requested latency is configured, the main
+ * thread will see max_latency */
if (*usec == (pa_usec_t) -1)
*usec = s->thread_info.max_latency;
@@ -1899,6 +1964,16 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
return 0;
}
+ case PA_SINK_MESSAGE_GET_FIXED_LATENCY:
+
+ *((pa_usec_t*) userdata) = s->thread_info.fixed_latency;
+ return 0;
+
+ case PA_SINK_MESSAGE_SET_FIXED_LATENCY:
+
+ pa_sink_set_fixed_latency_within_thread(s, (pa_usec_t) offset);
+ return 0;
+
case PA_SINK_MESSAGE_GET_MAX_REWIND:
*((size_t*) userdata) = s->thread_info.max_rewind;
@@ -1934,9 +2009,10 @@ int pa_sink_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t cause)
int ret = 0;
pa_core_assert_ref(c);
+ pa_assert_ctl_context();
pa_assert(cause != 0);
- for (sink = PA_SINK(pa_idxset_first(c->sinks, &idx)); sink; sink = PA_SINK(pa_idxset_next(c->sinks, &idx))) {
+ PA_IDXSET_FOREACH(sink, c->sinks, idx) {
int r;
if ((r = pa_sink_suspend(sink, suspend, cause)) < 0)
@@ -1949,6 +2025,7 @@ int pa_sink_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t cause)
/* Called from main thread */
void pa_sink_detach(pa_sink *s) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_DETACH, NULL, 0, NULL) == 0);
@@ -1957,6 +2034,7 @@ void pa_sink_detach(pa_sink *s) {
/* Called from main thread */
void pa_sink_attach(pa_sink *s) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_ATTACH, NULL, 0, NULL) == 0);
@@ -1968,9 +2046,10 @@ void pa_sink_detach_within_thread(pa_sink *s) {
void *state = NULL;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
- while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)
if (i->detach)
i->detach(i);
@@ -1984,9 +2063,10 @@ void pa_sink_attach_within_thread(pa_sink *s) {
void *state = NULL;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
- while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)
if (i->attach)
i->attach(i);
@@ -1997,6 +2077,7 @@ void pa_sink_attach_within_thread(pa_sink *s) {
/* Called from IO thread */
void pa_sink_request_rewind(pa_sink*s, size_t nbytes) {
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));
if (s->thread_info.state == PA_SINK_SUSPENDED)
@@ -2026,15 +2107,15 @@ pa_usec_t pa_sink_get_requested_latency_within_thread(pa_sink *s) {
pa_usec_t monitor_latency;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
if (!(s->flags & PA_SINK_DYNAMIC_LATENCY))
- return PA_CLAMP(s->fixed_latency, s->thread_info.min_latency, s->thread_info.max_latency);
+ return PA_CLAMP(s->thread_info.fixed_latency, s->thread_info.min_latency, s->thread_info.max_latency);
if (s->thread_info.requested_latency_valid)
return s->thread_info.requested_latency;
- while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))
-
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)
if (i->thread_info.requested_sink_latency != (pa_usec_t) -1 &&
(result == (pa_usec_t) -1 || result > i->thread_info.requested_sink_latency))
result = i->thread_info.requested_sink_latency;
@@ -2062,6 +2143,7 @@ pa_usec_t pa_sink_get_requested_latency(pa_sink *s) {
pa_usec_t usec = 0;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SINK_IS_LINKED(s->state));
if (s->state == PA_SINK_SUSPENDED)
@@ -2077,16 +2159,16 @@ void pa_sink_set_max_rewind_within_thread(pa_sink *s, size_t max_rewind) {
void *state = NULL;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
if (max_rewind == s->thread_info.max_rewind)
return;
s->thread_info.max_rewind = max_rewind;
- if (PA_SINK_IS_LINKED(s->thread_info.state)) {
- while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))
+ if (PA_SINK_IS_LINKED(s->thread_info.state))
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)
pa_sink_input_update_max_rewind(i, s->thread_info.max_rewind);
- }
if (s->monitor_source)
pa_source_set_max_rewind_within_thread(s->monitor_source, s->thread_info.max_rewind);
@@ -2095,6 +2177,7 @@ void pa_sink_set_max_rewind_within_thread(pa_sink *s, size_t max_rewind) {
/* Called from main thread */
void pa_sink_set_max_rewind(pa_sink *s, size_t max_rewind) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
if (PA_SINK_IS_LINKED(s->state))
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_SET_MAX_REWIND, NULL, max_rewind, NULL) == 0);
@@ -2107,6 +2190,7 @@ void pa_sink_set_max_request_within_thread(pa_sink *s, size_t max_request) {
void *state = NULL;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
if (max_request == s->thread_info.max_request)
return;
@@ -2116,7 +2200,7 @@ void pa_sink_set_max_request_within_thread(pa_sink *s, size_t max_request) {
if (PA_SINK_IS_LINKED(s->thread_info.state)) {
pa_sink_input *i;
- while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)
pa_sink_input_update_max_request(i, s->thread_info.max_request);
}
}
@@ -2124,6 +2208,7 @@ void pa_sink_set_max_request_within_thread(pa_sink *s, size_t max_request) {
/* Called from main thread */
void pa_sink_set_max_request(pa_sink *s, size_t max_request) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
if (PA_SINK_IS_LINKED(s->state))
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_SET_MAX_REQUEST, NULL, max_request, NULL) == 0);
@@ -2132,23 +2217,24 @@ void pa_sink_set_max_request(pa_sink *s, size_t max_request) {
}
/* Called from IO thread */
-void pa_sink_invalidate_requested_latency(pa_sink *s) {
+void pa_sink_invalidate_requested_latency(pa_sink *s, pa_bool_t dynamic) {
pa_sink_input *i;
void *state = NULL;
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
- if (!(s->flags & PA_SINK_DYNAMIC_LATENCY))
+ if ((s->flags & PA_SINK_DYNAMIC_LATENCY))
+ s->thread_info.requested_latency_valid = FALSE;
+ else if (dynamic)
return;
- s->thread_info.requested_latency_valid = FALSE;
-
if (PA_SINK_IS_LINKED(s->thread_info.state)) {
if (s->update_requested_latency)
s->update_requested_latency(s);
- while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)
if (i->update_sink_requested_latency)
i->update_sink_requested_latency(i);
}
@@ -2157,6 +2243,7 @@ void pa_sink_invalidate_requested_latency(pa_sink *s) {
/* Called from main thread */
void pa_sink_set_latency_range(pa_sink *s, pa_usec_t min_latency, pa_usec_t max_latency) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
/* min_latency == 0: no limit
* min_latency anything else: specified limit
@@ -2191,6 +2278,7 @@ void pa_sink_set_latency_range(pa_sink *s, pa_usec_t min_latency, pa_usec_t max_
/* Called from main thread */
void pa_sink_get_latency_range(pa_sink *s, pa_usec_t *min_latency, pa_usec_t *max_latency) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(min_latency);
pa_assert(max_latency);
@@ -2209,9 +2297,8 @@ void pa_sink_get_latency_range(pa_sink *s, pa_usec_t *min_latency, pa_usec_t *ma
/* Called from IO thread */
void pa_sink_set_latency_range_within_thread(pa_sink *s, pa_usec_t min_latency, pa_usec_t max_latency) {
- void *state = NULL;
-
pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
pa_assert(min_latency >= ABSOLUTE_MIN_LATENCY);
pa_assert(max_latency <= ABSOLUTE_MAX_LATENCY);
@@ -2222,27 +2309,36 @@ void pa_sink_set_latency_range_within_thread(pa_sink *s, pa_usec_t min_latency,
max_latency == ABSOLUTE_MAX_LATENCY) ||
(s->flags & PA_SINK_DYNAMIC_LATENCY));
+ if (s->thread_info.min_latency == min_latency &&
+ s->thread_info.max_latency == max_latency)
+ return;
+
s->thread_info.min_latency = min_latency;
s->thread_info.max_latency = max_latency;
if (PA_SINK_IS_LINKED(s->thread_info.state)) {
pa_sink_input *i;
+ void *state = NULL;
- while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)
if (i->update_sink_latency_range)
i->update_sink_latency_range(i);
}
- pa_sink_invalidate_requested_latency(s);
+ pa_sink_invalidate_requested_latency(s, FALSE);
pa_source_set_latency_range_within_thread(s->monitor_source, min_latency, max_latency);
}
-/* Called from main thread, before the sink is put */
+/* Called from main thread */
void pa_sink_set_fixed_latency(pa_sink *s, pa_usec_t latency) {
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
- pa_assert(pa_sink_get_state(s) == PA_SINK_INIT);
+ if (s->flags & PA_SINK_DYNAMIC_LATENCY) {
+ pa_assert(latency == 0);
+ return;
+ }
if (latency < ABSOLUTE_MIN_LATENCY)
latency = ABSOLUTE_MIN_LATENCY;
@@ -2250,14 +2346,69 @@ void pa_sink_set_fixed_latency(pa_sink *s, pa_usec_t latency) {
if (latency > ABSOLUTE_MAX_LATENCY)
latency = ABSOLUTE_MAX_LATENCY;
- s->fixed_latency = latency;
+ if (PA_SINK_IS_LINKED(s->state))
+ pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_SET_FIXED_LATENCY, NULL, (int64_t) latency, NULL) == 0);
+ else
+ s->thread_info.fixed_latency = latency;
+
pa_source_set_fixed_latency(s->monitor_source, latency);
}
+/* Called from main thread */
+pa_usec_t pa_sink_get_fixed_latency(pa_sink *s) {
+ pa_usec_t latency;
+
+ pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
+
+ if (s->flags & PA_SINK_DYNAMIC_LATENCY)
+ return 0;
+
+ if (PA_SINK_IS_LINKED(s->state))
+ pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_GET_FIXED_LATENCY, &latency, 0, NULL) == 0);
+ else
+ latency = s->thread_info.fixed_latency;
+
+ return latency;
+}
+
+/* Called from IO thread */
+void pa_sink_set_fixed_latency_within_thread(pa_sink *s, pa_usec_t latency) {
+ pa_sink_assert_ref(s);
+ pa_sink_assert_io_context(s);
+
+ if (s->flags & PA_SINK_DYNAMIC_LATENCY) {
+ pa_assert(latency == 0);
+ return;
+ }
+
+ pa_assert(latency >= ABSOLUTE_MIN_LATENCY);
+ pa_assert(latency <= ABSOLUTE_MAX_LATENCY);
+
+ if (s->thread_info.fixed_latency == latency)
+ return;
+
+ s->thread_info.fixed_latency = latency;
+
+ if (PA_SINK_IS_LINKED(s->thread_info.state)) {
+ pa_sink_input *i;
+ void *state = NULL;
+
+ PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)
+ if (i->update_sink_fixed_latency)
+ i->update_sink_fixed_latency(i);
+ }
+
+ pa_sink_invalidate_requested_latency(s, FALSE);
+
+ pa_source_set_fixed_latency_within_thread(s->monitor_source, latency);
+}
+
/* Called from main context */
size_t pa_sink_get_max_rewind(pa_sink *s) {
size_t r;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
if (!PA_SINK_IS_LINKED(s->state))
return s->thread_info.max_rewind;
@@ -2271,6 +2422,7 @@ size_t pa_sink_get_max_rewind(pa_sink *s) {
size_t pa_sink_get_max_request(pa_sink *s) {
size_t r;
pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
if (!PA_SINK_IS_LINKED(s->state))
return s->thread_info.max_request;
@@ -2284,7 +2436,8 @@ size_t pa_sink_get_max_request(pa_sink *s) {
int pa_sink_set_port(pa_sink *s, const char *name, pa_bool_t save) {
pa_device_port *port;
- pa_assert(s);
+ pa_sink_assert_ref(s);
+ pa_assert_ctl_context();
if (!s->set_port) {
pa_log_debug("set_port() operation not implemented for sink %u \"%s\"", s->index, s->name);
@@ -2315,7 +2468,6 @@ int pa_sink_set_port(pa_sink *s, const char *name, pa_bool_t save) {
return 0;
}
-/* Called from main context */
pa_bool_t pa_device_init_icon(pa_proplist *p, pa_bool_t is_sink) {
const char *ff, *c, *t = NULL, *s = "", *profile, *bus;
diff --git a/src/pulsecore/sink.h b/src/pulsecore/sink.h
index d16fcc01..3cd7e59d 100644
--- a/src/pulsecore/sink.h
+++ b/src/pulsecore/sink.h
@@ -42,6 +42,7 @@ typedef struct pa_device_port pa_device_port;
#include <pulsecore/rtpoll.h>
#include <pulsecore/card.h>
#include <pulsecore/queue.h>
+#include <pulsecore/thread-mq.h>
#define PA_MAX_INPUTS_PER_SINK 32
@@ -101,12 +102,9 @@ struct pa_sink {
pa_bool_t save_muted:1;
pa_asyncmsgq *asyncmsgq;
- pa_rtpoll *rtpoll;
pa_memchunk silence;
- pa_usec_t fixed_latency; /* for sinks with PA_SINK_DYNAMIC_LATENCY this is 0 */
-
pa_hashmap *ports;
pa_device_port *active_port;
@@ -155,9 +153,14 @@ struct pa_sink {
pa_sink_state_t state;
pa_hashmap *inputs;
+ pa_rtpoll *rtpoll;
+
pa_cvolume soft_volume;
pa_bool_t soft_muted:1;
+ /* The requested latency is used for dynamic latency
+ * sinks. For fixed latency sinks it is always identical to
+ * the fixed_latency. See below. */
pa_bool_t requested_latency_valid:1;
pa_usec_t requested_latency;
@@ -173,8 +176,15 @@ struct pa_sink {
size_t rewind_nbytes;
pa_bool_t rewind_requested;
+ /* Both dynamic and fixed latencies will be clamped to this
+ * range. */
pa_usec_t min_latency; /* we won't go below this latency */
pa_usec_t max_latency; /* An upper limit for the latencies */
+
+ /* 'Fixed' simply means that the latency is exclusively
+ * decided on by the sink, and the clients have no influence
+ * in changing it */
+ pa_usec_t fixed_latency; /* for sinks with PA_SINK_DYNAMIC_LATENCY this is 0 */
} thread_info;
void *userdata;
@@ -200,6 +210,8 @@ typedef enum pa_sink_message {
PA_SINK_MESSAGE_DETACH,
PA_SINK_MESSAGE_SET_LATENCY_RANGE,
PA_SINK_MESSAGE_GET_LATENCY_RANGE,
+ PA_SINK_MESSAGE_SET_FIXED_LATENCY,
+ PA_SINK_MESSAGE_GET_FIXED_LATENCY,
PA_SINK_MESSAGE_GET_MAX_REWIND,
PA_SINK_MESSAGE_GET_MAX_REQUEST,
PA_SINK_MESSAGE_SET_MAX_REWIND,
@@ -267,8 +279,10 @@ void pa_sink_detach(pa_sink *s);
void pa_sink_attach(pa_sink *s);
void pa_sink_set_soft_volume(pa_sink *s, const pa_cvolume *volume);
-void pa_sink_volume_changed(pa_sink *s, const pa_cvolume *new_volume, pa_bool_t save);
-void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted, pa_bool_t save);
+void pa_sink_volume_changed(pa_sink *s, const pa_cvolume *new_volume);
+void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted);
+
+void pa_sink_update_flags(pa_sink *s, pa_sink_flags_t mask, pa_sink_flags_t value);
pa_bool_t pa_device_init_description(pa_proplist *p);
pa_bool_t pa_device_init_icon(pa_proplist *p, pa_bool_t is_sink);
@@ -280,6 +294,7 @@ pa_bool_t pa_device_init_intended_roles(pa_proplist *p);
pa_usec_t pa_sink_get_latency(pa_sink *s);
pa_usec_t pa_sink_get_requested_latency(pa_sink *s);
void pa_sink_get_latency_range(pa_sink *s, pa_usec_t *min_latency, pa_usec_t *max_latency);
+pa_usec_t pa_sink_get_fixed_latency(pa_sink *s);
size_t pa_sink_get_max_rewind(pa_sink *s);
size_t pa_sink_get_max_request(pa_sink *s);
@@ -331,16 +346,23 @@ void pa_sink_set_max_rewind_within_thread(pa_sink *s, size_t max_rewind);
void pa_sink_set_max_request_within_thread(pa_sink *s, size_t max_request);
void pa_sink_set_latency_range_within_thread(pa_sink *s, pa_usec_t min_latency, pa_usec_t max_latency);
+void pa_sink_set_fixed_latency_within_thread(pa_sink *s, pa_usec_t latency);
/*** To be called exclusively by sink input drivers, from IO context */
void pa_sink_request_rewind(pa_sink*s, size_t nbytes);
-void pa_sink_invalidate_requested_latency(pa_sink *s);
+void pa_sink_invalidate_requested_latency(pa_sink *s, pa_bool_t dynamic);
pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s);
pa_device_port *pa_device_port_new(const char *name, const char *description, size_t extra);
void pa_device_port_free(pa_device_port *p);
+/* Verify that we called in IO context (aka 'thread context), or that
+ * the sink is not yet set up, i.e. the thread not set up yet. See
+ * pa_assert_io_context() in thread-mq.h for more information. */
+#define pa_sink_assert_io_context(s) \
+ pa_assert(pa_thread_mq_get() || !PA_SINK_IS_LINKED((s)->state))
+
#endif
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index 4ba25ae4..3803a6cc 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -48,7 +48,7 @@ static void source_output_free(pa_object* mo);
pa_source_output_new_data* pa_source_output_new_data_init(pa_source_output_new_data *data) {
pa_assert(data);
- memset(data, 0, sizeof(*data));
+ pa_zero(*data);
data->resample_method = PA_RESAMPLER_INVALID;
data->proplist = pa_proplist_new();
@@ -84,6 +84,7 @@ static void reset_callbacks(pa_source_output *o) {
o->update_max_rewind = NULL;
o->update_source_requested_latency = NULL;
o->update_source_latency_range = NULL;
+ o->update_source_fixed_latency = NULL;
o->attach = NULL;
o->detach = NULL;
o->suspend = NULL;
@@ -111,6 +112,7 @@ int pa_source_output_new(
pa_assert(_o);
pa_assert(core);
pa_assert(data);
+ pa_assert_ctl_context();
if (data->client)
pa_proplist_update(data->proplist, PA_UPDATE_MERGE, data->client->proplist);
@@ -166,7 +168,7 @@ int pa_source_output_new(
if ((r = pa_hook_fire(&core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_FIXATE], data)) < 0)
return r;
- if ((flags & PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND) &&
+ if ((flags & PA_SOURCE_OUTPUT_NO_CREATE_ON_SUSPEND) &&
pa_source_get_state(data->source) == PA_SOURCE_SUSPENDED) {
pa_log("Failed to create source output: source is suspended.");
return -PA_ERR_BADSTATE;
@@ -262,6 +264,7 @@ int pa_source_output_new(
/* Called from main context */
static void update_n_corked(pa_source_output *o, pa_source_output_state_t state) {
pa_assert(o);
+ pa_assert_ctl_context();
if (!o->source)
return;
@@ -275,6 +278,7 @@ static void update_n_corked(pa_source_output *o, pa_source_output_state_t state)
/* Called from main context */
static void source_output_set_state(pa_source_output *o, pa_source_output_state_t state) {
pa_assert(o);
+ pa_assert_ctl_context();
if (o->state == state)
return;
@@ -294,6 +298,7 @@ static void source_output_set_state(pa_source_output *o, pa_source_output_state_
void pa_source_output_unlink(pa_source_output*o) {
pa_bool_t linked;
pa_assert(o);
+ pa_assert_ctl_context();
/* See pa_sink_unlink() for a couple of comments how this function
* works */
@@ -346,6 +351,7 @@ static void source_output_free(pa_object* mo) {
pa_source_output *o = PA_SOURCE_OUTPUT(mo);
pa_assert(o);
+ pa_assert_ctl_context();
pa_assert(pa_source_output_refcnt(o) == 0);
if (PA_SOURCE_OUTPUT_IS_LINKED(o->state))
@@ -371,7 +377,9 @@ static void source_output_free(pa_object* mo) {
/* Called from main context */
void pa_source_output_put(pa_source_output *o) {
pa_source_output_state_t state;
+
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(o->state == PA_SOURCE_OUTPUT_INIT);
@@ -395,6 +403,7 @@ void pa_source_output_put(pa_source_output *o) {
/* Called from main context */
void pa_source_output_kill(pa_source_output*o) {
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
o->kill(o);
@@ -405,6 +414,7 @@ pa_usec_t pa_source_output_get_latency(pa_source_output *o, pa_usec_t *source_la
pa_usec_t r[2] = { 0, 0 };
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
pa_assert_se(pa_asyncmsgq_send(o->source->asyncmsgq, PA_MSGOBJECT(o), PA_SOURCE_OUTPUT_MESSAGE_GET_LATENCY, r, 0, NULL) == 0);
@@ -424,6 +434,7 @@ void pa_source_output_push(pa_source_output *o, const pa_memchunk *chunk) {
size_t limit, mbs = 0;
pa_source_output_assert_ref(o);
+ pa_source_output_assert_io_context(o);
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->thread_info.state));
pa_assert(chunk);
pa_assert(pa_frame_aligned(chunk->length, &o->source->sample_spec));
@@ -499,8 +510,9 @@ void pa_source_output_push(pa_source_output *o, const pa_memchunk *chunk) {
/* Called from thread context */
void pa_source_output_process_rewind(pa_source_output *o, size_t nbytes /* in source sample spec */) {
- pa_source_output_assert_ref(o);
+ pa_source_output_assert_ref(o);
+ pa_source_output_assert_io_context(o);
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->thread_info.state));
pa_assert(pa_frame_aligned(nbytes, &o->source->sample_spec));
@@ -526,8 +538,17 @@ void pa_source_output_process_rewind(pa_source_output *o, size_t nbytes /* in so
}
/* Called from thread context */
+size_t pa_source_output_get_max_rewind(pa_source_output *o) {
+ pa_source_output_assert_ref(o);
+ pa_source_output_assert_io_context(o);
+
+ return o->thread_info.resampler ? pa_resampler_request(o->thread_info.resampler, o->source->thread_info.max_rewind) : o->source->thread_info.max_rewind;
+}
+
+/* Called from thread context */
void pa_source_output_update_max_rewind(pa_source_output *o, size_t nbytes /* in the source's sample spec */) {
pa_source_output_assert_ref(o);
+ pa_source_output_assert_io_context(o);
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->thread_info.state));
pa_assert(pa_frame_aligned(nbytes, &o->source->sample_spec));
@@ -538,15 +559,16 @@ void pa_source_output_update_max_rewind(pa_source_output *o, size_t nbytes /* i
/* Called from thread context */
pa_usec_t pa_source_output_set_requested_latency_within_thread(pa_source_output *o, pa_usec_t usec) {
pa_source_output_assert_ref(o);
+ pa_source_output_assert_io_context(o);
if (!(o->source->flags & PA_SOURCE_DYNAMIC_LATENCY))
- usec = o->source->fixed_latency;
+ usec = o->source->thread_info.fixed_latency;
if (usec != (pa_usec_t) -1)
usec = PA_CLAMP(usec, o->source->thread_info.min_latency, o->source->thread_info.max_latency);
o->thread_info.requested_source_latency = usec;
- pa_source_invalidate_requested_latency(o->source);
+ pa_source_invalidate_requested_latency(o->source, TRUE);
return usec;
}
@@ -554,6 +576,7 @@ pa_usec_t pa_source_output_set_requested_latency_within_thread(pa_source_output
/* Called from main context */
pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t usec) {
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
if (PA_SOURCE_OUTPUT_IS_LINKED(o->state) && o->source) {
pa_assert_se(pa_asyncmsgq_send(o->source->asyncmsgq, PA_MSGOBJECT(o), PA_SOURCE_OUTPUT_MESSAGE_SET_REQUESTED_LATENCY, &usec, 0, NULL) == 0);
@@ -565,7 +588,7 @@ pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t
if (o->source) {
if (!(o->source->flags & PA_SOURCE_DYNAMIC_LATENCY))
- usec = o->source->fixed_latency;
+ usec = pa_source_get_fixed_latency(o->source);
if (usec != (pa_usec_t) -1) {
pa_usec_t min_latency, max_latency;
@@ -582,6 +605,7 @@ pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t
/* Called from main context */
pa_usec_t pa_source_output_get_requested_latency(pa_source_output *o) {
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
if (PA_SOURCE_OUTPUT_IS_LINKED(o->state) && o->source) {
pa_usec_t usec = 0;
@@ -598,6 +622,7 @@ pa_usec_t pa_source_output_get_requested_latency(pa_source_output *o) {
/* Called from main context */
void pa_source_output_cork(pa_source_output *o, pa_bool_t b) {
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
source_output_set_state(o, b ? PA_SOURCE_OUTPUT_CORKED : PA_SOURCE_OUTPUT_RUNNING);
@@ -606,6 +631,7 @@ void pa_source_output_cork(pa_source_output *o, pa_bool_t b) {
/* Called from main context */
int pa_source_output_set_rate(pa_source_output *o, uint32_t rate) {
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
pa_return_val_if_fail(o->thread_info.resampler, -PA_ERR_BADSTATE);
@@ -623,6 +649,7 @@ int pa_source_output_set_rate(pa_source_output *o, uint32_t rate) {
/* Called from main context */
void pa_source_output_set_name(pa_source_output *o, const char *name) {
const char *old;
+ pa_assert_ctl_context();
pa_source_output_assert_ref(o);
if (!name && !pa_proplist_contains(o->proplist, PA_PROP_MEDIA_NAME))
@@ -647,11 +674,12 @@ void pa_source_output_set_name(pa_source_output *o, const char *name) {
/* Called from main thread */
void pa_source_output_update_proplist(pa_source_output *o, pa_update_mode_t mode, pa_proplist *p) {
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
if (p)
pa_proplist_update(o->proplist, mode, p);
- if (PA_SINK_IS_LINKED(o->state)) {
+ if (PA_SOURCE_OUTPUT_IS_LINKED(o->state)) {
pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_PROPLIST_CHANGED], o);
pa_subscription_post(o->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_CHANGE, o->index);
}
@@ -660,6 +688,7 @@ void pa_source_output_update_proplist(pa_source_output *o, pa_update_mode_t mode
/* Called from main context */
pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o) {
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
return o->actual_resample_method;
}
@@ -667,6 +696,7 @@ pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o) {
/* Called from main context */
pa_bool_t pa_source_output_may_move(pa_source_output *o) {
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
if (o->flags & PA_SOURCE_OUTPUT_DONT_MOVE)
@@ -708,6 +738,7 @@ int pa_source_output_start_move(pa_source_output *o) {
int r;
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
pa_assert(o->source);
@@ -739,6 +770,7 @@ int pa_source_output_finish_move(pa_source_output *o, pa_source *dest, pa_bool_t
pa_resampler *new_resampler;
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
pa_assert(!o->source);
pa_source_assert_ref(dest);
@@ -816,10 +848,29 @@ int pa_source_output_finish_move(pa_source_output *o, pa_source *dest, pa_bool_t
}
/* Called from main context */
+void pa_source_output_fail_move(pa_source_output *o) {
+
+ pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
+ pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
+ pa_assert(!o->source);
+
+ /* Check if someone wants this source output? */
+ if (pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_FAIL], o) == PA_HOOK_STOP)
+ return;
+
+ if (o->moving)
+ o->moving(o, NULL);
+
+ pa_source_output_kill(o);
+}
+
+/* Called from main context */
int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t save) {
int r;
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));
pa_assert(o->source);
pa_source_assert_ref(dest);
@@ -838,6 +889,7 @@ int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t sav
}
if ((r = pa_source_output_finish_move(o, dest, save)) < 0) {
+ pa_source_output_fail_move(o);
pa_source_output_unref(o);
return r;
}
@@ -850,6 +902,7 @@ int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t sav
/* Called from IO thread context */
void pa_source_output_set_state_within_thread(pa_source_output *o, pa_source_output_state_t state) {
pa_source_output_assert_ref(o);
+ pa_source_output_assert_io_context(o);
if (state == o->thread_info.state)
return;
@@ -906,11 +959,13 @@ int pa_source_output_process_msg(pa_msgobject *mo, int code, void *userdata, int
return -PA_ERR_NOTIMPLEMENTED;
}
+/* Called from main context */
void pa_source_output_send_event(pa_source_output *o, const char *event, pa_proplist *data) {
pa_proplist *pl = NULL;
pa_source_output_send_event_hook_data hook_data;
pa_source_output_assert_ref(o);
+ pa_assert_ctl_context();
pa_assert(event);
if (!o->send_event)
diff --git a/src/pulsecore/source-output.h b/src/pulsecore/source-output.h
index 9824e160..a70a3fdb 100644
--- a/src/pulsecore/source-output.h
+++ b/src/pulsecore/source-output.h
@@ -55,7 +55,8 @@ typedef enum pa_source_output_flags {
PA_SOURCE_OUTPUT_FIX_RATE = 64,
PA_SOURCE_OUTPUT_FIX_CHANNELS = 128,
PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPEND = 256,
- PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND = 512
+ PA_SOURCE_OUTPUT_NO_CREATE_ON_SUSPEND = 512,
+ PA_SOURCE_OUTPUT_KILL_ON_SUSPEND = 1024
} pa_source_output_flags_t;
struct pa_source_output {
@@ -108,6 +109,10 @@ struct pa_source_output {
* from IO context. */
void (*update_source_latency_range) (pa_source_output *o); /* may be NULL */
+ /* Called whenver the fixed latency of the source changes, if there
+ * is one. Called from IO context. */
+ void (*update_source_fixed_latency) (pa_source_output *i); /* may be NULL */
+
/* If non-NULL this function is called when the output is first
* connected to a source. Called from IO thread context */
void (*attach) (pa_source_output *o); /* may be NULL */
@@ -127,7 +132,9 @@ struct pa_source_output {
/* If non-NULL called whenever the source output is moved to a new
* source. Called from main context after the stream was detached
* from the old source and before it is attached to the new
- * source. */
+ * source. If dest is NULL the move was executed in two
+ * phases and the second one failed; the stream will be destroyed
+ * after this call. */
void (*moving) (pa_source_output *o, pa_source *dest); /* may be NULL */
/* Supposed to unlink and destroy this stream. Called from main
@@ -238,6 +245,8 @@ void pa_source_output_cork(pa_source_output *o, pa_bool_t b);
int pa_source_output_set_rate(pa_source_output *o, uint32_t rate);
+size_t pa_source_output_get_max_rewind(pa_source_output *o);
+
/* Callable by everyone */
/* External code may request disconnection with this funcion */
@@ -260,6 +269,7 @@ int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t sav
* new source */
int pa_source_output_start_move(pa_source_output *o);
int pa_source_output_finish_move(pa_source_output *o, pa_source *dest, pa_bool_t save);
+void pa_source_output_fail_move(pa_source_output *o);
#define pa_source_output_get_state(o) ((o)->state)
@@ -277,4 +287,7 @@ int pa_source_output_process_msg(pa_msgobject *mo, int code, void *userdata, int
pa_usec_t pa_source_output_set_requested_latency_within_thread(pa_source_output *o, pa_usec_t usec);
+#define pa_source_output_assert_io_context(s) \
+ pa_assert(pa_thread_mq_get() || !PA_SOURCE_OUTPUT_IS_LINKED((s)->state))
+
#endif
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
index 74f38bc5..46f049ef 100644
--- a/src/pulsecore/source.c
+++ b/src/pulsecore/source.c
@@ -33,6 +33,7 @@
#include <pulse/timeval.h>
#include <pulse/util.h>
+#include <pulsecore/core-util.h>
#include <pulsecore/source-output.h>
#include <pulsecore/namereg.h>
#include <pulsecore/core-subscribe.h>
@@ -52,7 +53,7 @@ static void source_free(pa_object *o);
pa_source_new_data* pa_source_new_data_init(pa_source_new_data *data) {
pa_assert(data);
- memset(data, 0, sizeof(*data));
+ pa_zero(*data);
data->proplist = pa_proplist_new();
return data;
@@ -145,6 +146,7 @@ pa_source* pa_source_new(
pa_assert(core);
pa_assert(data);
pa_assert(data->name);
+ pa_assert_ctl_context();
s = pa_msgobject_new(pa_source);
@@ -224,13 +226,10 @@ pa_source* pa_source_new(
s->muted = data->muted;
s->refresh_volume = s->refresh_muted = FALSE;
- s->fixed_latency = flags & PA_SOURCE_DYNAMIC_LATENCY ? 0 : DEFAULT_FIXED_LATENCY;
-
reset_callbacks(s);
s->userdata = NULL;
s->asyncmsgq = NULL;
- s->rtpoll = NULL;
/* As a minor optimization we just steal the list instead of
* copying it here */
@@ -263,6 +262,7 @@ pa_source* pa_source_new(
&s->sample_spec,
0);
+ s->thread_info.rtpoll = NULL;
s->thread_info.outputs = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);
s->thread_info.soft_volume = s->soft_volume;
s->thread_info.soft_muted = s->muted;
@@ -272,6 +272,7 @@ pa_source* pa_source_new(
s->thread_info.requested_latency = 0;
s->thread_info.min_latency = ABSOLUTE_MIN_LATENCY;
s->thread_info.max_latency = ABSOLUTE_MAX_LATENCY;
+ s->thread_info.fixed_latency = flags & PA_SOURCE_DYNAMIC_LATENCY ? 0 : DEFAULT_FIXED_LATENCY;
pa_assert_se(pa_idxset_put(core->sources, s, &s->index) >= 0);
@@ -297,6 +298,7 @@ static int source_set_state(pa_source *s, pa_source_state_t state) {
pa_source_state_t original_state;
pa_assert(s);
+ pa_assert_ctl_context();
if (s->state == state)
return 0;
@@ -333,27 +335,26 @@ static int source_set_state(pa_source *s, pa_source_state_t state) {
/* We're suspending or resuming, tell everyone about it */
- for (o = PA_SOURCE_OUTPUT(pa_idxset_first(s->outputs, &idx)); o; o = PA_SOURCE_OUTPUT(pa_idxset_next(s->outputs, &idx)))
+ PA_IDXSET_FOREACH(o, s->outputs, idx)
if (s->state == PA_SOURCE_SUSPENDED &&
- (o->flags & PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND))
+ (o->flags & PA_SOURCE_OUTPUT_KILL_ON_SUSPEND))
pa_source_output_kill(o);
else if (o->suspend)
o->suspend(o, state == PA_SOURCE_SUSPENDED);
}
-
return 0;
}
/* Called from main context */
void pa_source_put(pa_source *s) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(s->state == PA_SOURCE_INIT);
/* The following fields must be initialized properly when calling _put() */
pa_assert(s->asyncmsgq);
- pa_assert(s->rtpoll);
pa_assert(s->thread_info.min_latency <= s->thread_info.max_latency);
/* Generally, flags should be initialized via pa_source_new(). As
@@ -368,7 +369,7 @@ void pa_source_put(pa_source *s) {
pa_assert((s->flags & PA_SOURCE_HW_VOLUME_CTRL) || (s->base_volume == PA_VOLUME_NORM && s->flags & PA_SOURCE_DECIBEL_VOLUME));
pa_assert(!(s->flags & PA_SOURCE_DECIBEL_VOLUME) || s->n_volume_steps == PA_VOLUME_NORM+1);
- pa_assert(!(s->flags & PA_SOURCE_DYNAMIC_LATENCY) == (s->fixed_latency != 0));
+ pa_assert(!(s->flags & PA_SOURCE_DYNAMIC_LATENCY) == (s->thread_info.fixed_latency != 0));
pa_assert_se(source_set_state(s, PA_SOURCE_IDLE) == 0);
@@ -382,6 +383,7 @@ void pa_source_unlink(pa_source *s) {
pa_source_output *o, *j = NULL;
pa_assert(s);
+ pa_assert_ctl_context();
/* See pa_sink_unlink() for a couple of comments how this function
* works. */
@@ -423,6 +425,7 @@ static void source_free(pa_object *o) {
pa_source *s = PA_SOURCE(o);
pa_assert(s);
+ pa_assert_ctl_context();
pa_assert(pa_source_refcnt(s) == 0);
if (PA_SOURCE_IS_LINKED(s->state))
@@ -458,23 +461,40 @@ static void source_free(pa_object *o) {
pa_xfree(s);
}
-/* Called from main context */
+/* Called from main context, and not while the IO thread is active, please */
void pa_source_set_asyncmsgq(pa_source *s, pa_asyncmsgq *q) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
s->asyncmsgq = q;
}
-/* Called from main context */
+/* Called from main context, and not while the IO thread is active, please */
+void pa_source_update_flags(pa_source *s, pa_source_flags_t mask, pa_source_flags_t value) {
+ pa_source_assert_ref(s);
+ pa_assert_ctl_context();
+
+ if (mask == 0)
+ return;
+
+ /* For now, allow only a minimal set of flags to be changed. */
+ pa_assert((mask & ~(PA_SOURCE_DYNAMIC_LATENCY|PA_SOURCE_LATENCY)) == 0);
+
+ s->flags = (s->flags & ~mask) | (value & mask);
+}
+
+/* Called from IO context, or before _put() from main context */
void pa_source_set_rtpoll(pa_source *s, pa_rtpoll *p) {
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
- s->rtpoll = p;
+ s->thread_info.rtpoll = p;
}
/* Called from main context */
int pa_source_update_status(pa_source*s) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
if (s->state == PA_SOURCE_SUSPENDED)
@@ -486,6 +506,7 @@ int pa_source_update_status(pa_source*s) {
/* Called from main context */
int pa_source_suspend(pa_source *s, pa_bool_t suspend, pa_suspend_cause_t cause) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
pa_assert(cause != 0);
@@ -513,6 +534,7 @@ int pa_source_sync_suspend(pa_source *s) {
pa_sink_state_t state;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
pa_assert(s->monitor_of);
@@ -532,6 +554,7 @@ pa_queue *pa_source_move_all_start(pa_source *s, pa_queue *q) {
uint32_t idx;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
if (!q)
@@ -556,12 +579,13 @@ void pa_source_move_all_finish(pa_source *s, pa_queue *q, pa_bool_t save) {
pa_source_output *o;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
pa_assert(q);
while ((o = PA_SOURCE_OUTPUT(pa_queue_pop(q)))) {
if (pa_source_output_finish_move(o, s, save) < 0)
- pa_source_output_kill(o);
+ pa_source_output_fail_move(o);
pa_source_output_unref(o);
}
@@ -572,13 +596,13 @@ void pa_source_move_all_finish(pa_source *s, pa_queue *q, pa_bool_t save) {
/* Called from main context */
void pa_source_move_all_fail(pa_queue *q) {
pa_source_output *o;
+
+ pa_assert_ctl_context();
pa_assert(q);
while ((o = PA_SOURCE_OUTPUT(pa_queue_pop(q)))) {
- if (pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_FAIL], o) == PA_HOOK_OK) {
- pa_source_output_kill(o);
- pa_source_output_unref(o);
- }
+ pa_source_output_fail_move(o);
+ pa_source_output_unref(o);
}
pa_queue_free(q, NULL, NULL);
@@ -590,17 +614,18 @@ void pa_source_process_rewind(pa_source *s, size_t nbytes) {
void *state = NULL;
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));
- if (s->thread_info.state == PA_SOURCE_SUSPENDED)
+ if (nbytes <= 0)
return;
- if (nbytes <= 0)
+ if (s->thread_info.state == PA_SOURCE_SUSPENDED)
return;
pa_log_debug("Processing rewind...");
- while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL))) {
+ PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state) {
pa_source_output_assert_ref(o);
pa_source_output_process_rewind(o, nbytes);
}
@@ -612,6 +637,7 @@ void pa_source_post(pa_source*s, const pa_memchunk *chunk) {
void *state = NULL;
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));
pa_assert(chunk);
@@ -651,6 +677,7 @@ void pa_source_post(pa_source*s, const pa_memchunk *chunk) {
/* Called from IO thread context */
void pa_source_post_direct(pa_source*s, pa_source_output *o, const pa_memchunk *chunk) {
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));
pa_source_output_assert_ref(o);
pa_assert(o->thread_info.direct_on_input);
@@ -682,6 +709,7 @@ pa_usec_t pa_source_get_latency(pa_source *s) {
pa_usec_t usec;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
if (s->state == PA_SOURCE_SUSPENDED)
@@ -701,6 +729,7 @@ pa_usec_t pa_source_get_latency_within_thread(pa_source *s) {
pa_msgobject *o;
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));
/* The returned value is supposed to be in the time domain of the sound card! */
@@ -727,6 +756,7 @@ void pa_source_set_volume(pa_source *s, const pa_cvolume *volume, pa_bool_t save
pa_bool_t virtual_volume_changed;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
pa_assert(volume);
pa_assert(pa_cvolume_valid(volume));
@@ -752,6 +782,7 @@ void pa_source_set_volume(pa_source *s, const pa_cvolume *volume, pa_bool_t save
/* Called from main thread. Only to be called by source implementor */
void pa_source_set_soft_volume(pa_source *s, const pa_cvolume *volume) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(volume);
if (PA_SOURCE_IS_LINKED(s->state))
@@ -763,6 +794,7 @@ void pa_source_set_soft_volume(pa_source *s, const pa_cvolume *volume) {
/* Called from main thread */
const pa_cvolume *pa_source_get_volume(pa_source *s, pa_bool_t force_refresh) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
if (s->refresh_volume || force_refresh) {
@@ -773,26 +805,28 @@ const pa_cvolume *pa_source_get_volume(pa_source *s, pa_bool_t force_refresh) {
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_GET_VOLUME, NULL, 0, NULL) == 0);
- if (!pa_cvolume_equal(&old_virtual_volume, &s->virtual_volume))
+ if (!pa_cvolume_equal(&old_virtual_volume, &s->virtual_volume)) {
+ s->save_volume = TRUE;
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
+ }
}
return &s->virtual_volume;
}
/* Called from main thread */
-void pa_source_volume_changed(pa_source *s, const pa_cvolume *new_volume, pa_bool_t save) {
+void pa_source_volume_changed(pa_source *s, const pa_cvolume *new_volume) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
+ pa_assert(PA_SOURCE_IS_LINKED(s->state));
/* The source implementor may call this if the volume changed to make sure everyone is notified */
- if (pa_cvolume_equal(&s->virtual_volume, new_volume)) {
- s->save_volume = s->save_volume || save;
+ if (pa_cvolume_equal(&s->virtual_volume, new_volume))
return;
- }
s->virtual_volume = *new_volume;
- s->save_volume = save;
+ s->save_volume = TRUE;
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
}
@@ -802,6 +836,7 @@ void pa_source_set_mute(pa_source *s, pa_bool_t mute, pa_bool_t save) {
pa_bool_t old_muted;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
old_muted = s->muted;
@@ -820,6 +855,7 @@ void pa_source_set_mute(pa_source *s, pa_bool_t mute, pa_bool_t save) {
/* Called from main thread */
pa_bool_t pa_source_get_mute(pa_source *s, pa_bool_t force_refresh) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
if (s->refresh_muted || force_refresh) {
@@ -831,6 +867,8 @@ pa_bool_t pa_source_get_mute(pa_source *s, pa_bool_t force_refresh) {
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_GET_MUTE, NULL, 0, NULL) == 0);
if (old_muted != s->muted) {
+ s->save_muted = TRUE;
+
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
/* Make sure the soft mute status stays in sync */
@@ -842,18 +880,18 @@ pa_bool_t pa_source_get_mute(pa_source *s, pa_bool_t force_refresh) {
}
/* Called from main thread */
-void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted, pa_bool_t save) {
+void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
+ pa_assert(PA_SOURCE_IS_LINKED(s->state));
/* The source implementor may call this if the mute state changed to make sure everyone is notified */
- if (s->muted == new_muted) {
- s->save_muted = s->save_muted || save;
+ if (s->muted == new_muted)
return;
- }
s->muted = new_muted;
- s->save_muted = save;
+ s->save_muted = TRUE;
pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
}
@@ -861,6 +899,7 @@ void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted, pa_bool_t save) {
/* Called from main thread */
pa_bool_t pa_source_update_proplist(pa_source *s, pa_update_mode_t mode, pa_proplist *p) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
if (p)
pa_proplist_update(s->proplist, mode, p);
@@ -874,16 +913,18 @@ pa_bool_t pa_source_update_proplist(pa_source *s, pa_update_mode_t mode, pa_prop
}
/* Called from main thread */
+/* FIXME -- this should be dropped and be merged into pa_source_update_proplist() */
void pa_source_set_description(pa_source *s, const char *description) {
const char *old;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
if (!description && !pa_proplist_contains(s->proplist, PA_PROP_DEVICE_DESCRIPTION))
return;
old = pa_proplist_gets(s->proplist, PA_PROP_DEVICE_DESCRIPTION);
- if (old && description && !strcmp(old, description))
+ if (old && description && pa_streq(old, description))
return;
if (description)
@@ -901,6 +942,7 @@ void pa_source_set_description(pa_source *s, const char *description) {
unsigned pa_source_linked_by(pa_source *s) {
pa_source_assert_ref(s);
pa_assert(PA_SOURCE_IS_LINKED(s->state));
+ pa_assert_ctl_context();
return pa_idxset_size(s->outputs);
}
@@ -911,6 +953,7 @@ unsigned pa_source_used_by(pa_source *s) {
pa_source_assert_ref(s);
pa_assert(PA_SOURCE_IS_LINKED(s->state));
+ pa_assert_ctl_context();
ret = pa_idxset_size(s->outputs);
pa_assert(ret >= s->n_corked);
@@ -925,6 +968,7 @@ unsigned pa_source_check_suspend(pa_source *s) {
uint32_t idx;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
if (!PA_SOURCE_IS_LINKED(s->state))
return 0;
@@ -1006,7 +1050,7 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_
if (pa_hashmap_remove(s->thread_info.outputs, PA_UINT32_TO_PTR(o->index)))
pa_source_output_unref(o);
- pa_source_invalidate_requested_latency(s);
+ pa_source_invalidate_requested_latency(s, TRUE);
return 0;
}
@@ -1086,6 +1130,16 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_
return 0;
}
+ case PA_SOURCE_MESSAGE_GET_FIXED_LATENCY:
+
+ *((pa_usec_t*) userdata) = s->thread_info.fixed_latency;
+ return 0;
+
+ case PA_SOURCE_MESSAGE_SET_FIXED_LATENCY:
+
+ pa_source_set_fixed_latency_within_thread(s, (pa_usec_t) offset);
+ return 0;
+
case PA_SOURCE_MESSAGE_GET_MAX_REWIND:
*((size_t*) userdata) = s->thread_info.max_rewind;
@@ -1120,6 +1174,7 @@ int pa_source_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t caus
int ret = 0;
pa_core_assert_ref(c);
+ pa_assert_ctl_context();
pa_assert(cause != 0);
for (source = PA_SOURCE(pa_idxset_first(c->sources, &idx)); source; source = PA_SOURCE(pa_idxset_next(c->sources, &idx))) {
@@ -1138,6 +1193,7 @@ int pa_source_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t caus
/* Called from main thread */
void pa_source_detach(pa_source *s) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_DETACH, NULL, 0, NULL) == 0);
@@ -1146,6 +1202,7 @@ void pa_source_detach(pa_source *s) {
/* Called from main thread */
void pa_source_attach(pa_source *s) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_ATTACH, NULL, 0, NULL) == 0);
@@ -1157,9 +1214,10 @@ void pa_source_detach_within_thread(pa_source *s) {
void *state = NULL;
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));
- while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL)))
+ PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)
if (o->detach)
o->detach(o);
}
@@ -1170,9 +1228,10 @@ void pa_source_attach_within_thread(pa_source *s) {
void *state = NULL;
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));
- while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL)))
+ PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)
if (o->attach)
o->attach(o);
}
@@ -1184,15 +1243,15 @@ pa_usec_t pa_source_get_requested_latency_within_thread(pa_source *s) {
void *state = NULL;
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
if (!(s->flags & PA_SOURCE_DYNAMIC_LATENCY))
- return PA_CLAMP(s->fixed_latency, s->thread_info.min_latency, s->thread_info.max_latency);
+ return PA_CLAMP(s->thread_info.fixed_latency, s->thread_info.min_latency, s->thread_info.max_latency);
if (s->thread_info.requested_latency_valid)
return s->thread_info.requested_latency;
- while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL)))
-
+ PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)
if (o->thread_info.requested_source_latency != (pa_usec_t) -1 &&
(result == (pa_usec_t) -1 || result > o->thread_info.requested_source_latency))
result = o->thread_info.requested_source_latency;
@@ -1214,6 +1273,7 @@ pa_usec_t pa_source_get_requested_latency(pa_source *s) {
pa_usec_t usec = 0;
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(PA_SOURCE_IS_LINKED(s->state));
if (s->state == PA_SOURCE_SUSPENDED)
@@ -1230,21 +1290,22 @@ void pa_source_set_max_rewind_within_thread(pa_source *s, size_t max_rewind) {
void *state = NULL;
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
if (max_rewind == s->thread_info.max_rewind)
return;
s->thread_info.max_rewind = max_rewind;
- if (PA_SOURCE_IS_LINKED(s->thread_info.state)) {
- while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL)))
+ if (PA_SOURCE_IS_LINKED(s->thread_info.state))
+ PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)
pa_source_output_update_max_rewind(o, s->thread_info.max_rewind);
- }
}
/* Called from main thread */
void pa_source_set_max_rewind(pa_source *s, size_t max_rewind) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
if (PA_SOURCE_IS_LINKED(s->state))
pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_SET_MAX_REWIND, NULL, max_rewind, NULL) == 0);
@@ -1253,17 +1314,18 @@ void pa_source_set_max_rewind(pa_source *s, size_t max_rewind) {
}
/* Called from IO thread */
-void pa_source_invalidate_requested_latency(pa_source *s) {
+void pa_source_invalidate_requested_latency(pa_source *s, pa_bool_t dynamic) {
pa_source_output *o;
void *state = NULL;
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
- if (!(s->flags & PA_SOURCE_DYNAMIC_LATENCY))
+ if ((s->flags & PA_SOURCE_DYNAMIC_LATENCY))
+ s->thread_info.requested_latency_valid = FALSE;
+ else if (dynamic)
return;
- s->thread_info.requested_latency_valid = FALSE;
-
if (PA_SOURCE_IS_LINKED(s->thread_info.state)) {
if (s->update_requested_latency)
@@ -1275,12 +1337,13 @@ void pa_source_invalidate_requested_latency(pa_source *s) {
}
if (s->monitor_of)
- pa_sink_invalidate_requested_latency(s->monitor_of);
+ pa_sink_invalidate_requested_latency(s->monitor_of, dynamic);
}
/* Called from main thread */
void pa_source_set_latency_range(pa_source *s, pa_usec_t min_latency, pa_usec_t max_latency) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
/* min_latency == 0: no limit
* min_latency anything else: specified limit
@@ -1315,6 +1378,7 @@ void pa_source_set_latency_range(pa_source *s, pa_usec_t min_latency, pa_usec_t
/* Called from main thread */
void pa_source_get_latency_range(pa_source *s, pa_usec_t *min_latency, pa_usec_t *max_latency) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
pa_assert(min_latency);
pa_assert(max_latency);
@@ -1333,9 +1397,8 @@ void pa_source_get_latency_range(pa_source *s, pa_usec_t *min_latency, pa_usec_t
/* Called from IO thread, and from main thread before pa_source_put() is called */
void pa_source_set_latency_range_within_thread(pa_source *s, pa_usec_t min_latency, pa_usec_t max_latency) {
- void *state = NULL;
-
pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
pa_assert(min_latency >= ABSOLUTE_MIN_LATENCY);
pa_assert(max_latency <= ABSOLUTE_MAX_LATENCY);
@@ -1347,25 +1410,34 @@ void pa_source_set_latency_range_within_thread(pa_source *s, pa_usec_t min_laten
(s->flags & PA_SOURCE_DYNAMIC_LATENCY) ||
s->monitor_of);
+ if (s->thread_info.min_latency == min_latency &&
+ s->thread_info.max_latency == max_latency)
+ return;
+
s->thread_info.min_latency = min_latency;
s->thread_info.max_latency = max_latency;
if (PA_SOURCE_IS_LINKED(s->thread_info.state)) {
pa_source_output *o;
+ void *state = NULL;
- while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL)))
+ PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)
if (o->update_source_latency_range)
o->update_source_latency_range(o);
}
- pa_source_invalidate_requested_latency(s);
+ pa_source_invalidate_requested_latency(s, FALSE);
}
/* Called from main thread, before the source is put */
void pa_source_set_fixed_latency(pa_source *s, pa_usec_t latency) {
pa_source_assert_ref(s);
+ pa_assert_ctl_context();
- pa_assert(pa_source_get_state(s) == PA_SOURCE_INIT);
+ if (s->flags & PA_SOURCE_DYNAMIC_LATENCY) {
+ pa_assert(latency == 0);
+ return;
+ }
if (latency < ABSOLUTE_MIN_LATENCY)
latency = ABSOLUTE_MIN_LATENCY;
@@ -1373,12 +1445,64 @@ void pa_source_set_fixed_latency(pa_source *s, pa_usec_t latency) {
if (latency > ABSOLUTE_MAX_LATENCY)
latency = ABSOLUTE_MAX_LATENCY;
- s->fixed_latency = latency;
+ if (PA_SOURCE_IS_LINKED(s->state))
+ pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_SET_FIXED_LATENCY, NULL, (int64_t) latency, NULL) == 0);
+ else
+ s->thread_info.fixed_latency = latency;
+}
+
+/* Called from main thread */
+pa_usec_t pa_source_get_fixed_latency(pa_source *s) {
+ pa_usec_t latency;
+
+ pa_source_assert_ref(s);
+ pa_assert_ctl_context();
+
+ if (s->flags & PA_SOURCE_DYNAMIC_LATENCY)
+ return 0;
+
+ if (PA_SOURCE_IS_LINKED(s->state))
+ pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_GET_FIXED_LATENCY, &latency, 0, NULL) == 0);
+ else
+ latency = s->thread_info.fixed_latency;
+
+ return latency;
+}
+
+/* Called from IO thread */
+void pa_source_set_fixed_latency_within_thread(pa_source *s, pa_usec_t latency) {
+ pa_source_assert_ref(s);
+ pa_source_assert_io_context(s);
+
+ if (s->flags & PA_SOURCE_DYNAMIC_LATENCY) {
+ pa_assert(latency == 0);
+ return;
+ }
+
+ pa_assert(latency >= ABSOLUTE_MIN_LATENCY);
+ pa_assert(latency <= ABSOLUTE_MAX_LATENCY);
+
+ if (s->thread_info.fixed_latency == latency)
+ return;
+
+ s->thread_info.fixed_latency = latency;
+
+ if (PA_SOURCE_IS_LINKED(s->thread_info.state)) {
+ pa_source_output *o;
+ void *state = NULL;
+
+ PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)
+ if (o->update_source_fixed_latency)
+ o->update_source_fixed_latency(o);
+ }
+
+ pa_source_invalidate_requested_latency(s, FALSE);
}
/* Called from main thread */
size_t pa_source_get_max_rewind(pa_source *s) {
size_t r;
+ pa_assert_ctl_context();
pa_source_assert_ref(s);
if (!PA_SOURCE_IS_LINKED(s->state))
@@ -1394,9 +1518,10 @@ int pa_source_set_port(pa_source *s, const char *name, pa_bool_t save) {
pa_device_port *port;
pa_assert(s);
+ pa_assert_ctl_context();
if (!s->set_port) {
- pa_log_debug("set_port() operation not implemented for sink %u \"%s\"", s->index, s->name);
+ pa_log_debug("set_port() operation not implemented for source %u \"%s\"", s->index, s->name);
return -PA_ERR_NOTIMPLEMENTED;
}
diff --git a/src/pulsecore/source.h b/src/pulsecore/source.h
index 7e9fd8b7..6f33de06 100644
--- a/src/pulsecore/source.h
+++ b/src/pulsecore/source.h
@@ -43,6 +43,7 @@ typedef struct pa_source pa_source;
#include <pulsecore/source-output.h>
#include <pulsecore/card.h>
#include <pulsecore/queue.h>
+#include <pulsecore/thread-mq.h>
#define PA_MAX_OUTPUTS_PER_SOURCE 32
@@ -89,12 +90,9 @@ struct pa_source {
pa_bool_t save_muted:1;
pa_asyncmsgq *asyncmsgq;
- pa_rtpoll *rtpoll;
pa_memchunk silence;
- pa_usec_t fixed_latency; /* for sources with PA_SOURCE_DYNAMIC_LATENCY this is 0 */
-
pa_hashmap *ports;
pa_device_port *active_port;
@@ -139,6 +137,8 @@ struct pa_source {
pa_source_state_t state;
pa_hashmap *outputs;
+ pa_rtpoll *rtpoll;
+
pa_cvolume soft_volume;
pa_bool_t soft_muted:1;
@@ -151,7 +151,9 @@ struct pa_source {
pa_usec_t min_latency; /* we won't go below this latency */
pa_usec_t max_latency; /* An upper limit for the latencies */
- } thread_info;
+
+ pa_usec_t fixed_latency; /* for sources with PA_SOURCE_DYNAMIC_LATENCY this is 0 */
+ } thread_info;
void *userdata;
};
@@ -173,6 +175,8 @@ typedef enum pa_source_message {
PA_SOURCE_MESSAGE_DETACH,
PA_SOURCE_MESSAGE_SET_LATENCY_RANGE,
PA_SOURCE_MESSAGE_GET_LATENCY_RANGE,
+ PA_SOURCE_MESSAGE_SET_FIXED_LATENCY,
+ PA_SOURCE_MESSAGE_GET_FIXED_LATENCY,
PA_SOURCE_MESSAGE_GET_MAX_REWIND,
PA_SOURCE_MESSAGE_SET_MAX_REWIND,
PA_SOURCE_MESSAGE_MAX
@@ -237,17 +241,20 @@ void pa_source_detach(pa_source *s);
void pa_source_attach(pa_source *s);
void pa_source_set_soft_volume(pa_source *s, const pa_cvolume *volume);
-void pa_source_volume_changed(pa_source *s, const pa_cvolume *new_volume, pa_bool_t save);
-void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted, pa_bool_t save);
+void pa_source_volume_changed(pa_source *s, const pa_cvolume *new_volume);
+void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted);
int pa_source_sync_suspend(pa_source *s);
+void pa_source_update_flags(pa_source *s, pa_source_flags_t mask, pa_source_flags_t value);
+
/*** May be called by everyone, from main context */
/* The returned value is supposed to be in the time domain of the sound card! */
pa_usec_t pa_source_get_latency(pa_source *s);
pa_usec_t pa_source_get_requested_latency(pa_source *s);
void pa_source_get_latency_range(pa_source *s, pa_usec_t *min_latency, pa_usec_t *max_latency);
+pa_usec_t pa_source_get_fixed_latency(pa_source *s);
size_t pa_source_get_max_rewind(pa_source *s);
@@ -257,6 +264,7 @@ int pa_source_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t caus
void pa_source_set_volume(pa_source *source, const pa_cvolume *volume, pa_bool_t save);
const pa_cvolume *pa_source_get_volume(pa_source *source, pa_bool_t force_refresh);
+
void pa_source_set_mute(pa_source *source, pa_bool_t mute, pa_bool_t save);
pa_bool_t pa_source_get_mute(pa_source *source, pa_bool_t force_refresh);
@@ -288,11 +296,16 @@ void pa_source_detach_within_thread(pa_source *s);
pa_usec_t pa_source_get_requested_latency_within_thread(pa_source *s);
void pa_source_set_max_rewind_within_thread(pa_source *s, size_t max_rewind);
+
void pa_source_set_latency_range_within_thread(pa_source *s, pa_usec_t min_latency, pa_usec_t max_latency);
+void pa_source_set_fixed_latency_within_thread(pa_source *s, pa_usec_t latency);
/*** To be called exclusively by source output drivers, from IO context */
-void pa_source_invalidate_requested_latency(pa_source *s);
+void pa_source_invalidate_requested_latency(pa_source *s, pa_bool_t dynamic);
pa_usec_t pa_source_get_latency_within_thread(pa_source *s);
+#define pa_source_assert_io_context(s) \
+ pa_assert(pa_thread_mq_get() || !PA_SOURCE_IS_LINKED((s)->state))
+
#endif
diff --git a/src/pulsecore/start-child.c b/src/pulsecore/start-child.c
index 7774bde6..b3bce131 100644
--- a/src/pulsecore/start-child.c
+++ b/src/pulsecore/start-child.c
@@ -68,23 +68,24 @@ int pa_start_child_for_read(const char *name, const char *argv1, pid_t *pid) {
} else {
/* child */
- pa_reset_priority();
+ pa_reset_personality();
pa_assert_se(pa_close(pipe_fds[0]) == 0);
- pa_assert_se(dup2(pipe_fds[1], 1) == 1);
+ pa_assert_se(dup2(pipe_fds[1], STDOUT_FILENO) == STDOUT_FILENO);
- if (pipe_fds[1] != 1)
+ if (pipe_fds[1] != STDOUT_FILENO)
pa_assert_se(pa_close(pipe_fds[1]) == 0);
- pa_close(0);
- pa_assert_se(open("/dev/null", O_RDONLY) == 0);
+ pa_close(STDIN_FILENO);
+ pa_assert_se(open("/dev/null", O_RDONLY) == STDIN_FILENO);
- pa_close(2);
- pa_assert_se(open("/dev/null", O_WRONLY) == 2);
+ pa_close(STDERR_FILENO);
+ pa_assert_se(open("/dev/null", O_WRONLY) == STDERR_FILENO);
pa_close_all(-1);
pa_reset_sigs(-1);
pa_unblock_sigs(-1);
+ pa_reset_priority();
#ifdef PR_SET_PDEATHSIG
/* On Linux we can use PR_SET_PDEATHSIG to have the helper
diff --git a/src/pulsecore/thread-mq.c b/src/pulsecore/thread-mq.c
index 34f92a7e..73997a74 100644
--- a/src/pulsecore/thread-mq.c
+++ b/src/pulsecore/thread-mq.c
@@ -59,7 +59,7 @@ static void asyncmsgq_read_cb(pa_mainloop_api*api, pa_io_event* e, int fd, pa_io
pa_memchunk chunk;
/* Check whether there is a message for us to process */
- while (pa_asyncmsgq_get(aq, &object, &code, &data, &offset, &chunk, 0) == 0) {
+ while (pa_asyncmsgq_get(aq, &object, &code, &data, &offset, &chunk, 0) >= 0) {
int ret;
ret = pa_asyncmsgq_dispatch(object, code, data, offset, &chunk);
@@ -104,6 +104,15 @@ void pa_thread_mq_init(pa_thread_mq *q, pa_mainloop_api *mainloop, pa_rtpoll *rt
void pa_thread_mq_done(pa_thread_mq *q) {
pa_assert(q);
+ /* Since we are called from main context we can be sure that the
+ * inq is empty. However, the outq might still contain messages
+ * for the main loop, which we need to dispatch (e.g. release
+ * msgs, other stuff). Hence do so if we aren't currently
+ * dispatching anyway. */
+
+ if (!pa_asyncmsgq_dispatching(q->outq))
+ pa_asyncmsgq_flush(q->outq, TRUE);
+
q->mainloop->io_free(q->read_event);
q->mainloop->io_free(q->write_event);
q->read_event = q->write_event = NULL;
diff --git a/src/pulsecore/thread-mq.h b/src/pulsecore/thread-mq.h
index 3b5e0e78..96839d25 100644
--- a/src/pulsecore/thread-mq.h
+++ b/src/pulsecore/thread-mq.h
@@ -45,4 +45,12 @@ void pa_thread_mq_install(pa_thread_mq *q);
/* Return the pa_thread_mq object that is set for the current thread */
pa_thread_mq *pa_thread_mq_get(void);
+/* Verify that we are in control context (aka 'main context'). */
+#define pa_assert_ctl_context(s) \
+ pa_assert(!pa_thread_mq_get())
+
+/* Verify that we are in IO context (aka 'thread context'). */
+#define pa_assert_io_context(s) \
+ pa_assert(pa_thread_mq_get())
+
#endif
diff --git a/src/pulsecore/time-smoother.c b/src/pulsecore/time-smoother.c
index 9d5a0705..d6c37878 100644
--- a/src/pulsecore/time-smoother.c
+++ b/src/pulsecore/time-smoother.c
@@ -108,29 +108,11 @@ pa_smoother* pa_smoother_new(
s = pa_xnew(pa_smoother, 1);
s->adjust_time = adjust_time;
s->history_time = history_time;
- s->time_offset = 0;
+ s->min_history = min_history;
s->monotonic = monotonic;
-
- s->px = s->py = 0;
- s->dp = 1;
-
- s->ex = s->ey = s->ry = 0;
- s->de = 1;
-
- s->history_idx = 0;
- s->n_history = 0;
-
- s->last_y = s->last_x = 0;
-
- s->abc_valid = FALSE;
-
- s->paused = FALSE;
s->smoothing = smoothing;
- s->min_history = min_history;
-
- s->paused = paused;
- s->time_offset = s->pause_time = time_offset;
+ pa_smoother_reset(s, time_offset, paused);
return s;
}
@@ -514,9 +496,26 @@ pa_usec_t pa_smoother_translate(pa_smoother *s, pa_usec_t x, pa_usec_t y_delay)
return (pa_usec_t) llrint((double) y_delay / nde);
}
-void pa_smoother_reset(pa_smoother *s) {
+void pa_smoother_reset(pa_smoother *s, pa_usec_t time_offset, pa_bool_t paused) {
pa_assert(s);
+ s->px = s->py = 0;
+ s->dp = 1;
+
+ s->ex = s->ey = s->ry = 0;
+ s->de = 1;
+
+ s->history_idx = 0;
s->n_history = 0;
+
+ s->last_y = s->last_x = 0;
+
s->abc_valid = FALSE;
+
+ s->paused = paused;
+ s->time_offset = s->pause_time = time_offset;
+
+#ifdef DEBUG_DATA
+ pa_log_debug("reset()");
+#endif
}
diff --git a/src/pulsecore/time-smoother.h b/src/pulsecore/time-smoother.h
index 5244a7e7..63d33e48 100644
--- a/src/pulsecore/time-smoother.h
+++ b/src/pulsecore/time-smoother.h
@@ -52,7 +52,7 @@ void pa_smoother_set_time_offset(pa_smoother *s, pa_usec_t x_offset);
void pa_smoother_pause(pa_smoother *s, pa_usec_t x);
void pa_smoother_resume(pa_smoother *s, pa_usec_t x, pa_bool_t abrupt);
-void pa_smoother_reset(pa_smoother *s);
+void pa_smoother_reset(pa_smoother *s, pa_usec_t time_offset, pa_bool_t paused);
void pa_smoother_fix_now(pa_smoother *s);
diff --git a/src/tests/get-binary-name-test.c b/src/tests/get-binary-name-test.c
index a34e38fd..e49f2eff 100644
--- a/src/tests/get-binary-name-test.c
+++ b/src/tests/get-binary-name-test.c
@@ -23,12 +23,33 @@
#include <limits.h>
#include <stdio.h>
+#include <string.h>
#include <pulse/util.h>
+#include <pulse/xmalloc.h>
int main(int argc, char *argv[]) {
- char exename[PATH_MAX];
+ char *exename;
+ size_t allocated = 128;
+
+ for (;;) {
+ exename = pa_xmalloc(allocated);
+
+ if (!pa_get_binary_name(exename, allocated)) {
+ printf("failed to read binary name\n");
+ pa_xfree(exename);
+ break;
+ }
+
+ if (strlen(exename) < allocated - 1) {
+ printf("%s\n", exename);
+ pa_xfree(exename);
+ break;
+ }
+
+ pa_xfree(exename);
+ allocated *= 2;
+ }
- printf("%s\n", pa_get_binary_name(exename, sizeof(exename)));
return 0;
}
diff --git a/src/tests/interpol-test.c b/src/tests/interpol-test.c
index 0c906d3e..007555c3 100644
--- a/src/tests/interpol-test.c
+++ b/src/tests/interpol-test.c
@@ -43,20 +43,37 @@ static pa_context *context = NULL;
static pa_stream *stream = NULL;
static pa_mainloop_api *mainloop_api = NULL;
static pa_bool_t playback = TRUE;
+static pa_usec_t latency = 0;
static void stream_write_cb(pa_stream *p, size_t nbytes, void *userdata) {
/* Just some silence */
- pa_assert_se(pa_stream_write(p, pa_xmalloc0(nbytes), nbytes, pa_xfree, 0, PA_SEEK_RELATIVE) == 0);
+
+ for (;;) {
+ void *data;
+
+ pa_assert_se((nbytes = pa_stream_writable_size(p)) != (size_t) -1);
+
+ if (nbytes <= 0)
+ break;
+
+ pa_assert_se(pa_stream_begin_write(p, &data, &nbytes) == 0);
+ pa_memzero(data, nbytes);
+ pa_assert_se(pa_stream_write(p, data, nbytes, NULL, 0, PA_SEEK_RELATIVE) == 0);
+ }
}
static void stream_read_cb(pa_stream *p, size_t nbytes, void *userdata) {
- /* We don't care, just drop the data */
+ /* We don't care about the data, just drop it */
- while (pa_stream_readable_size(p) > 0) {
- const void *d;
- size_t b;
+ for (;;) {
+ const void *data;
- pa_assert_se(pa_stream_peek(p, &d, &b) == 0);
+ pa_assert_se((nbytes = pa_stream_readable_size(p)) != (size_t) -1);
+
+ if (nbytes <= 0)
+ break;
+
+ pa_assert_se(pa_stream_peek(p, &data, &nbytes) == 0);
pa_assert_se(pa_stream_drop(p) == 0);
}
}
@@ -82,27 +99,36 @@ static void context_state_callback(pa_context *c, void *userdata) {
case PA_CONTEXT_READY: {
pa_stream_flags_t flags = PA_STREAM_AUTO_TIMING_UPDATE;
-
+ pa_buffer_attr attr;
static const pa_sample_spec ss = {
.format = PA_SAMPLE_S16LE,
.rate = 44100,
.channels = 2
};
+ pa_zero(attr);
+ attr.maxlength = (uint32_t) -1;
+ attr.tlength = latency > 0 ? (uint32_t) pa_usec_to_bytes(latency, &ss) : (uint32_t) -1;
+ attr.prebuf = (uint32_t) -1;
+ attr.minreq = (uint32_t) -1;
+ attr.fragsize = (uint32_t) -1;
+
#ifdef INTERPOLATE
flags |= PA_STREAM_INTERPOLATE_TIMING;
#endif
+ if (latency > 0)
+ flags |= PA_STREAM_ADJUST_LATENCY;
+
fprintf(stderr, "Connection established.\n");
- stream = pa_stream_new(c, "interpol-test", &ss, NULL);
- assert(stream);
+ pa_assert_se(stream = pa_stream_new(c, "interpol-test", &ss, NULL));
if (playback) {
- pa_assert_se(pa_stream_connect_playback(stream, NULL, NULL, flags, NULL, NULL) == 0);
+ pa_assert_se(pa_stream_connect_playback(stream, NULL, &attr, flags, NULL, NULL) == 0);
pa_stream_set_write_callback(stream, stream_write_cb, NULL);
} else {
- pa_assert_se(pa_stream_connect_record(stream, NULL, NULL, flags) == 0);
+ pa_assert_se(pa_stream_connect_record(stream, NULL, &attr, flags) == 0);
pa_stream_set_read_callback(stream, stream_read_cb, NULL);
}
@@ -123,7 +149,7 @@ static void context_state_callback(pa_context *c, void *userdata) {
int main(int argc, char *argv[]) {
pa_threaded_mainloop* m = NULL;
- int k, r;
+ int k;
struct timeval start, last_info = { 0, 0 };
pa_usec_t old_t = 0, old_rtc = 0;
#ifdef CORK
@@ -134,24 +160,22 @@ int main(int argc, char *argv[]) {
playback = argc <= 1 || !pa_streq(argv[1], "-r");
- /* Set up a new main loop */
- m = pa_threaded_mainloop_new();
- assert(m);
-
- mainloop_api = pa_threaded_mainloop_get_api(m);
+ latency =
+ (argc >= 2 && !pa_streq(argv[1], "-r")) ? atoi(argv[1]) :
+ (argc >= 3 ? atoi(argv[2]) : 0);
- context = pa_context_new(mainloop_api, argv[0]);
- assert(context);
+ /* Set up a new main loop */
+ pa_assert_se(m = pa_threaded_mainloop_new());
+ pa_assert_se(mainloop_api = pa_threaded_mainloop_get_api(m));
+ pa_assert_se(context = pa_context_new(mainloop_api, argv[0]));
pa_context_set_state_callback(context, context_state_callback, NULL);
- r = pa_context_connect(context, NULL, 0, NULL);
- assert(r >= 0);
+ pa_assert_se(pa_context_connect(context, NULL, 0, NULL) >= 0);
pa_gettimeofday(&start);
- r = pa_threaded_mainloop_start(m);
- assert(r >= 0);
+ pa_assert_se(pa_threaded_mainloop_start(m) >= 0);
/* #ifdef CORK */
for (k = 0; k < 20000; k++)
@@ -160,7 +184,7 @@ int main(int argc, char *argv[]) {
/* #endif */
{
pa_bool_t success = FALSE, changed = FALSE;
- pa_usec_t t, rtc;
+ pa_usec_t t, rtc, d;
struct timeval now, tv;
pa_bool_t playing = FALSE;
@@ -169,7 +193,8 @@ int main(int argc, char *argv[]) {
if (stream) {
const pa_timing_info *info;
- if (pa_stream_get_time(stream, &t) >= 0)
+ if (pa_stream_get_time(stream, &t) >= 0 &&
+ pa_stream_get_latency(stream, &d, NULL) >= 0)
success = TRUE;
if ((info = pa_stream_get_timing_info(stream))) {
@@ -191,14 +216,16 @@ int main(int argc, char *argv[]) {
pa_bool_t cork_now;
#endif
rtc = pa_timeval_diff(&now, &start);
- printf("%i\t%llu\t%llu\t%llu\t%llu\t%lli\t%u\t%u\n", k,
+ printf("%i\t%llu\t%llu\t%llu\t%llu\t%lli\t%u\t%u\t%llu\t%llu\n", k,
(unsigned long long) rtc,
(unsigned long long) t,
(unsigned long long) (rtc-old_rtc),
(unsigned long long) (t-old_t),
(signed long long) rtc - (signed long long) t,
changed,
- playing);
+ playing,
+ (unsigned long long) latency,
+ (unsigned long long) d);
fflush(stdout);
old_t = t;
diff --git a/src/tests/mix-test.c b/src/tests/mix-test.c
index c7a30d67..f9f76da3 100644
--- a/src/tests/mix-test.c
+++ b/src/tests/mix-test.c
@@ -69,6 +69,8 @@ static void dump_block(const pa_sample_spec *ss, const pa_memchunk *chunk) {
break;
}
+ case PA_SAMPLE_S24_32NE:
+ case PA_SAMPLE_S24_32RE:
case PA_SAMPLE_S32NE:
case PA_SAMPLE_S32RE: {
uint32_t *u = d;
@@ -83,8 +85,10 @@ static void dump_block(const pa_sample_spec *ss, const pa_memchunk *chunk) {
case PA_SAMPLE_S24RE: {
uint8_t *u = d;
- for (i = 0; i < chunk->length / pa_frame_size(ss); i++)
- printf("0x%02x%02x%02xx ", *(u++), *(u++), *(u++));
+ for (i = 0; i < chunk->length / pa_frame_size(ss); i++) {
+ printf("0x%02x%02x%02xx ", *u, *(u+1), *(u+2));
+ u += 3;
+ }
break;
}
@@ -123,66 +127,72 @@ static pa_memblock* generate_block(pa_mempool *pool, const pa_sample_spec *ss) {
case PA_SAMPLE_U8:
case PA_SAMPLE_ULAW:
case PA_SAMPLE_ALAW: {
- static const uint8_t u8_samples[] =
- { 0x00, 0xFF, 0x7F, 0x80, 0x9f,
- 0x3f, 0x01, 0xF0, 0x20, 0x21 };
+ static const uint8_t u8_samples[] = {
+ 0x00, 0xFF, 0x7F, 0x80, 0x9f,
+ 0x3f, 0x01, 0xF0, 0x20, 0x21
+ };
- memcpy(d, &u8_samples[0], sizeof(u8_samples));
+ memcpy(d, u8_samples, sizeof(u8_samples));
break;
}
case PA_SAMPLE_S16NE:
case PA_SAMPLE_S16RE: {
- static const uint16_t u16_samples[] =
- { 0x0000, 0xFFFF, 0x7FFF, 0x8000, 0x9fff,
- 0x3fff, 0x0001, 0xF000, 0x0020, 0x0021 };
+ static const uint16_t u16_samples[] = {
+ 0x0000, 0xFFFF, 0x7FFF, 0x8000, 0x9fff,
+ 0x3fff, 0x0001, 0xF000, 0x0020, 0x0021
+ };
- memcpy(d, &u16_samples[0], sizeof(u16_samples));
+ memcpy(d, u16_samples, sizeof(u16_samples));
break;
}
+ case PA_SAMPLE_S24_32NE:
+ case PA_SAMPLE_S24_32RE:
case PA_SAMPLE_S32NE:
case PA_SAMPLE_S32RE: {
- static const uint32_t u32_samples[] =
- { 0x00000001, 0xFFFF0002, 0x7FFF0003, 0x80000004, 0x9fff0005,
- 0x3fff0006, 0x00010007, 0xF0000008, 0x00200009, 0x0021000A };
+ static const uint32_t u32_samples[] = {
+ 0x00000001, 0xFFFF0002, 0x7FFF0003, 0x80000004, 0x9fff0005,
+ 0x3fff0006, 0x00010007, 0xF0000008, 0x00200009, 0x0021000A
+ };
- memcpy(d, &u32_samples[0], sizeof(u32_samples));
+ memcpy(d, u32_samples, sizeof(u32_samples));
break;
}
case PA_SAMPLE_S24NE:
case PA_SAMPLE_S24RE: {
- /* Need to be on a byte array because they are not aligned */
- static const uint8_t u24_samples[] =
- { 0x00, 0x00, 0x01,
- 0xFF, 0xFF, 0x02,
- 0x7F, 0xFF, 0x03,
- 0x80, 0x00, 0x04,
- 0x9f, 0xff, 0x05,
- 0x3f, 0xff, 0x06,
- 0x01, 0x00, 0x07,
- 0xF0, 0x00, 0x08,
- 0x20, 0x00, 0x09,
- 0x21, 0x00, 0x0A };
-
- memcpy(d, &u24_samples[0], sizeof(u24_samples));
+ /* Need to be on a byte array because they are not aligned */
+ static const uint8_t u24_samples[] = {
+ 0x00, 0x00, 0x01,
+ 0xFF, 0xFF, 0x02,
+ 0x7F, 0xFF, 0x03,
+ 0x80, 0x00, 0x04,
+ 0x9f, 0xff, 0x05,
+ 0x3f, 0xff, 0x06,
+ 0x01, 0x00, 0x07,
+ 0xF0, 0x00, 0x08,
+ 0x20, 0x00, 0x09,
+ 0x21, 0x00, 0x0A
+ };
+
+ memcpy(d, u24_samples, sizeof(u24_samples));
break;
}
case PA_SAMPLE_FLOAT32NE:
case PA_SAMPLE_FLOAT32RE: {
float *u = d;
- static const float float_samples[] =
- { 0.0f, -1.0f, 1.0f, 4711.0f, 0.222f,
- 0.33f, -.3f, 99.0f, -0.555f, -.123f };
+ static const float float_samples[] = {
+ 0.0f, -1.0f, 1.0f, 4711.0f, 0.222f,
+ 0.33f, -.3f, 99.0f, -0.555f, -.123f
+ };
if (ss->format == PA_SAMPLE_FLOAT32RE) {
for (i = 0; i < 10; i++)
u[i] = swap_float(float_samples[i]);
- } else {
- memcpy(d, &float_samples[0], sizeof(float_samples));
- }
+ } else
+ memcpy(d, float_samples, sizeof(float_samples));
break;
}
diff --git a/src/tests/rtstutter.c b/src/tests/rtstutter.c
index a4b5d596..c93fee93 100644
--- a/src/tests/rtstutter.c
+++ b/src/tests/rtstutter.c
@@ -67,7 +67,9 @@ static void* work(void *p) {
pa_log_notice("CPU%i: Sleeping for 1s", PA_PTR_TO_UINT(p));
sleep(1);
+#ifdef CLOCK_REALTIME
pa_assert_se(clock_gettime(CLOCK_REALTIME, &end) == 0);
+#endif
nsec =
(uint64_t) ((((double) rand())*(double)(msec_upper-msec_lower)*PA_NSEC_PER_MSEC)/RAND_MAX) +
@@ -84,7 +86,9 @@ static void* work(void *p) {
}
do {
+#ifdef CLOCK_REALTIME
pa_assert_se(clock_gettime(CLOCK_REALTIME, &now) == 0);
+#endif
} while (now.tv_sec < end.tv_sec ||
(now.tv_sec == end.tv_sec && now.tv_nsec < end.tv_nsec));
}
diff --git a/src/tests/voltest.c b/src/tests/voltest.c
index 2dcfa53c..64aec5c6 100644
--- a/src/tests/voltest.c
+++ b/src/tests/voltest.c
@@ -1,8 +1,33 @@
+/***
+ 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
+ General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with PulseAudio; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdio.h>
#include <pulse/volume.h>
#include <pulse/gccmacro.h>
+#include <pulsecore/macro.h>
+
int main(int argc, char *argv[]) {
pa_volume_t v;
pa_cvolume cv;
@@ -60,5 +85,16 @@ int main(int argc, char *argv[]) {
printf("After: volume: [%s]; balance: %2.1f (intended: %2.1f) %s\n", pa_cvolume_snprint(s, sizeof(s), &r), k, b, k < b-.05 || k > b+.5 ? "MISMATCH" : "");
}
+ for (v = PA_VOLUME_MUTED; v <= PA_VOLUME_NORM*2; v += 1) {
+
+ double l = pa_sw_volume_to_linear(v);
+ pa_volume_t k = pa_sw_volume_from_linear(l);
+ double db = pa_sw_volume_to_dB(v);
+ pa_volume_t r = pa_sw_volume_from_dB(db);
+
+ pa_assert(k == v);
+ pa_assert(r == v);
+ }
+
return 0;
}
diff --git a/src/utils/pacat.c b/src/utils/pacat.c
index f00a32eb..9264a062 100644
--- a/src/utils/pacat.c
+++ b/src/utils/pacat.c
@@ -105,12 +105,12 @@ static void context_drain_complete(pa_context*c, void *userdata) {
static void stream_drain_complete(pa_stream*s, int success, void *userdata) {
if (!success) {
- pa_log(_("Failed to drain stream: %s\n"), pa_strerror(pa_context_errno(context)));
+ pa_log(_("Failed to drain stream: %s"), pa_strerror(pa_context_errno(context)));
quit(1);
}
if (verbose)
- pa_log(_("Playback stream drained.\n"));
+ pa_log(_("Playback stream drained."));
pa_stream_disconnect(stream);
pa_stream_unref(stream);
@@ -120,7 +120,7 @@ static void stream_drain_complete(pa_stream*s, int success, void *userdata) {
pa_context_disconnect(context);
else {
if (verbose)
- pa_log(_("Draining connection to server.\n"));
+ pa_log(_("Draining connection to server."));
}
}
@@ -133,7 +133,7 @@ static void start_drain(void) {
pa_stream_set_write_callback(stream, NULL, NULL);
if (!(o = pa_stream_drain(stream, stream_drain_complete, NULL))) {
- pa_log(_("pa_stream_drain(): %s\n"), pa_strerror(pa_context_errno(context)));
+ pa_log(_("pa_stream_drain(): %s"), pa_strerror(pa_context_errno(context)));
quit(1);
return;
}
@@ -156,7 +156,7 @@ static void do_stream_write(size_t length) {
l = buffer_length;
if (pa_stream_write(stream, (uint8_t*) buffer + buffer_index, l, NULL, 0, PA_SEEK_RELATIVE) < 0) {
- pa_log(_("pa_stream_write() failed: %s\n"), pa_strerror(pa_context_errno(context)));
+ pa_log(_("pa_stream_write() failed: %s"), pa_strerror(pa_context_errno(context)));
quit(1);
return;
}
@@ -193,7 +193,11 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {
pa_assert(sndfile);
- data = pa_xmalloc(length);
+ if (pa_stream_begin_write(s, &data, &length) < 0) {
+ pa_log(_("pa_stream_begin_write() failed: %s"), pa_strerror(pa_context_errno(context)));
+ quit(1);
+ return;
+ }
if (readf_function) {
size_t k = pa_frame_size(&sample_spec);
@@ -205,9 +209,9 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {
bytes = sf_read_raw(sndfile, data, (sf_count_t) length);
if (bytes > 0)
- pa_stream_write(s, data, (size_t) bytes, pa_xfree, 0, PA_SEEK_RELATIVE);
+ pa_stream_write(s, data, (size_t) bytes, NULL, 0, PA_SEEK_RELATIVE);
else
- pa_xfree(data);
+ pa_stream_cancel_write(s);
if (bytes < (sf_count_t) length)
start_drain();
@@ -226,12 +230,11 @@ static void stream_read_callback(pa_stream *s, size_t length, void *userdata) {
if (stdio_event)
mainloop_api->io_enable(stdio_event, PA_IO_EVENT_OUTPUT);
-
while (pa_stream_readable_size(s) > 0) {
const void *data;
if (pa_stream_peek(s, &data, &length) < 0) {
- pa_log(_("pa_stream_peek() failed: %s\n"), pa_strerror(pa_context_errno(context)));
+ pa_log(_("pa_stream_peek() failed: %s"), pa_strerror(pa_context_errno(context)));
quit(1);
return;
}
@@ -249,6 +252,7 @@ static void stream_read_callback(pa_stream *s, size_t length, void *userdata) {
buffer_length = length;
buffer_index = 0;
}
+
pa_stream_drop(s);
}
@@ -260,7 +264,7 @@ static void stream_read_callback(pa_stream *s, size_t length, void *userdata) {
const void *data;
if (pa_stream_peek(s, &data, &length) < 0) {
- pa_log(_("pa_stream_peek() failed: %s\n"), pa_strerror(pa_context_errno(context)));
+ pa_log(_("pa_stream_peek() failed: %s"), pa_strerror(pa_context_errno(context)));
quit(1);
return;
}
@@ -300,25 +304,25 @@ static void stream_state_callback(pa_stream *s, void *userdata) {
const pa_buffer_attr *a;
char cmt[PA_CHANNEL_MAP_SNPRINT_MAX], sst[PA_SAMPLE_SPEC_SNPRINT_MAX];
- pa_log(_("Stream successfully created.\n"));
+ pa_log(_("Stream successfully created."));
if (!(a = pa_stream_get_buffer_attr(s)))
- pa_log(_("pa_stream_get_buffer_attr() failed: %s\n"), pa_strerror(pa_context_errno(pa_stream_get_context(s))));
+ pa_log(_("pa_stream_get_buffer_attr() failed: %s"), pa_strerror(pa_context_errno(pa_stream_get_context(s))));
else {
if (mode == PLAYBACK)
- pa_log(_("Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"), a->maxlength, a->tlength, a->prebuf, a->minreq);
+ pa_log(_("Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"), a->maxlength, a->tlength, a->prebuf, a->minreq);
else {
pa_assert(mode == RECORD);
- pa_log(_("Buffer metrics: maxlength=%u, fragsize=%u\n"), a->maxlength, a->fragsize);
+ pa_log(_("Buffer metrics: maxlength=%u, fragsize=%u"), a->maxlength, a->fragsize);
}
}
- pa_log(_("Using sample spec '%s', channel map '%s'.\n"),
+ pa_log(_("Using sample spec '%s', channel map '%s'."),
pa_sample_spec_snprint(sst, sizeof(sst), pa_stream_get_sample_spec(s)),
pa_channel_map_snprint(cmt, sizeof(cmt), pa_stream_get_channel_map(s)));
- pa_log(_("Connected to device %s (%u, %ssuspended).\n"),
+ pa_log(_("Connected to device %s (%u, %ssuspended)."),
pa_stream_get_device_name(s),
pa_stream_get_device_index(s),
pa_stream_is_suspended(s) ? "" : "not ");
@@ -328,7 +332,7 @@ static void stream_state_callback(pa_stream *s, void *userdata) {
case PA_STREAM_FAILED:
default:
- pa_log(_("Stream error: %s\n"), pa_strerror(pa_context_errno(pa_stream_get_context(s))));
+ pa_log(_("Stream error: %s"), pa_strerror(pa_context_errno(pa_stream_get_context(s))));
quit(1);
}
}
@@ -338,9 +342,9 @@ static void stream_suspended_callback(pa_stream *s, void *userdata) {
if (verbose) {
if (pa_stream_is_suspended(s))
- pa_log(_("Stream device suspended.%s \n"), CLEAR_LINE);
+ pa_log(_("Stream device suspended.%s"), CLEAR_LINE);
else
- pa_log(_("Stream device resumed.%s \n"), CLEAR_LINE);
+ pa_log(_("Stream device resumed.%s"), CLEAR_LINE);
}
}
@@ -348,35 +352,35 @@ static void stream_underflow_callback(pa_stream *s, void *userdata) {
pa_assert(s);
if (verbose)
- pa_log(_("Stream underrun.%s \n"), CLEAR_LINE);
+ pa_log(_("Stream underrun.%s"), CLEAR_LINE);
}
static void stream_overflow_callback(pa_stream *s, void *userdata) {
pa_assert(s);
if (verbose)
- pa_log(_("Stream overrun.%s \n"), CLEAR_LINE);
+ pa_log(_("Stream overrun.%s"), CLEAR_LINE);
}
static void stream_started_callback(pa_stream *s, void *userdata) {
pa_assert(s);
if (verbose)
- pa_log(_("Stream started.%s \n"), CLEAR_LINE);
+ pa_log(_("Stream started.%s"), CLEAR_LINE);
}
static void stream_moved_callback(pa_stream *s, void *userdata) {
pa_assert(s);
if (verbose)
- pa_log(_("Stream moved to device %s (%u, %ssuspended).%s \n"), pa_stream_get_device_name(s), pa_stream_get_device_index(s), pa_stream_is_suspended(s) ? "" : _("not "), CLEAR_LINE);
+ pa_log(_("Stream moved to device %s (%u, %ssuspended).%s"), pa_stream_get_device_name(s), pa_stream_get_device_index(s), pa_stream_is_suspended(s) ? "" : _("not "), CLEAR_LINE);
}
static void stream_buffer_attr_callback(pa_stream *s, void *userdata) {
pa_assert(s);
if (verbose)
- pa_log(_("Stream buffer attributes changed.%s \n"), CLEAR_LINE);
+ pa_log(_("Stream buffer attributes changed.%s"), CLEAR_LINE);
}
static void stream_event_callback(pa_stream *s, const char *name, pa_proplist *pl, void *userdata) {
@@ -387,7 +391,7 @@ static void stream_event_callback(pa_stream *s, const char *name, pa_proplist *p
pa_assert(pl);
t = pa_proplist_to_string_sep(pl, ", ");
- pa_log("Got event '%s', properties '%s'\n", name, t);
+ pa_log("Got event '%s', properties '%s'", name, t);
pa_xfree(t);
}
@@ -409,10 +413,10 @@ static void context_state_callback(pa_context *c, void *userdata) {
pa_assert(!stream);
if (verbose)
- pa_log(_("Connection established.%s \n"), CLEAR_LINE);
+ pa_log(_("Connection established.%s"), CLEAR_LINE);
if (!(stream = pa_stream_new_with_proplist(c, NULL, &sample_spec, &channel_map, proplist))) {
- pa_log(_("pa_stream_new() failed: %s\n"), pa_strerror(pa_context_errno(c)));
+ pa_log(_("pa_stream_new() failed: %s"), pa_strerror(pa_context_errno(c)));
goto fail;
}
@@ -440,13 +444,13 @@ static void context_state_callback(pa_context *c, void *userdata) {
if (mode == PLAYBACK) {
pa_cvolume cv;
if ((r = pa_stream_connect_playback(stream, device, latency > 0 ? &buffer_attr : NULL, flags, volume_is_set ? pa_cvolume_set(&cv, sample_spec.channels, volume) : NULL, NULL)) < 0) {
- pa_log(_("pa_stream_connect_playback() failed: %s\n"), pa_strerror(pa_context_errno(c)));
+ pa_log(_("pa_stream_connect_playback() failed: %s"), pa_strerror(pa_context_errno(c)));
goto fail;
}
} else {
if ((r = pa_stream_connect_record(stream, device, latency > 0 ? &buffer_attr : NULL, flags)) < 0) {
- pa_log(_("pa_stream_connect_record() failed: %s\n"), pa_strerror(pa_context_errno(c)));
+ pa_log(_("pa_stream_connect_record() failed: %s"), pa_strerror(pa_context_errno(c)));
goto fail;
}
}
@@ -460,7 +464,7 @@ static void context_state_callback(pa_context *c, void *userdata) {
case PA_CONTEXT_FAILED:
default:
- pa_log(_("Connection failure: %s\n"), pa_strerror(pa_context_errno(c)));
+ pa_log(_("Connection failure: %s"), pa_strerror(pa_context_errno(c)));
goto fail;
}
@@ -493,12 +497,12 @@ static void stdin_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_even
if ((r = read(fd, buffer, l)) <= 0) {
if (r == 0) {
if (verbose)
- pa_log(_("Got EOF.\n"));
+ pa_log(_("Got EOF."));
start_drain();
} else {
- pa_log(_("read() failed: %s\n"), strerror(errno));
+ pa_log(_("read() failed: %s"), strerror(errno));
quit(1);
}
@@ -530,7 +534,7 @@ static void stdout_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_eve
pa_assert(buffer_length);
if ((r = write(fd, (uint8_t*) buffer+buffer_index, buffer_length)) <= 0) {
- pa_log(_("write() failed: %s\n"), strerror(errno));
+ pa_log(_("write() failed: %s"), strerror(errno));
quit(1);
mainloop_api->io_free(stdio_event);
@@ -551,7 +555,7 @@ static void stdout_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_eve
/* UNIX signal to quit recieved */
static void exit_signal_callback(pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata) {
if (verbose)
- pa_log(_("Got signal, exiting.\n"));
+ pa_log(_("Got signal, exiting."));
quit(0);
}
@@ -565,7 +569,7 @@ static void stream_update_timing_callback(pa_stream *s, int success, void *userd
if (!success ||
pa_stream_get_time(s, &usec) < 0 ||
pa_stream_get_latency(s, &l, &negative) < 0) {
- pa_log(_("Failed to get latency: %s\n"), pa_strerror(pa_context_errno(context)));
+ pa_log(_("Failed to get latency: %s"), pa_strerror(pa_context_errno(context)));
quit(1);
return;
}
@@ -588,7 +592,7 @@ static void time_event_callback(pa_mainloop_api *m, pa_time_event *e, const stru
if (stream && pa_stream_get_state(stream) == PA_STREAM_READY) {
pa_operation *o;
if (!(o = pa_stream_update_timing_info(stream, stream_update_timing_callback, NULL)))
- pa_log(_("pa_stream_update_timing_info() failed: %s\n"), pa_strerror(pa_context_errno(context)));
+ pa_log(_("pa_stream_update_timing_info() failed: %s"), pa_strerror(pa_context_errno(context)));
else
pa_operation_unref(o);
}
@@ -753,7 +757,7 @@ int main(int argc, char *argv[]) {
if (!(t = pa_locale_to_utf8(optarg)) ||
pa_proplist_sets(proplist, PA_PROP_APPLICATION_NAME, t) < 0) {
- pa_log(_("Invalid client name '%s'\n"), t ? t : optarg);
+ pa_log(_("Invalid client name '%s'"), t ? t : optarg);
pa_xfree(t);
goto quit;
}
@@ -769,7 +773,7 @@ int main(int argc, char *argv[]) {
if (!(t = pa_locale_to_utf8(optarg)) ||
pa_proplist_sets(proplist, PA_PROP_MEDIA_NAME, t) < 0) {
- pa_log(_("Invalid stream name '%s'\n"), t ? t : optarg);
+ pa_log(_("Invalid stream name '%s'"), t ? t : optarg);
pa_xfree(t);
goto quit;
}
@@ -806,7 +810,7 @@ int main(int argc, char *argv[]) {
case ARG_CHANNELMAP:
if (!pa_channel_map_parse(&channel_map, optarg)) {
- pa_log(_("Invalid channel map '%s'\n"), optarg);
+ pa_log(_("Invalid channel map '%s'"), optarg);
goto quit;
}
@@ -835,14 +839,14 @@ int main(int argc, char *argv[]) {
case ARG_LATENCY:
if (((latency = (size_t) atoi(optarg))) <= 0) {
- pa_log(_("Invalid latency specification '%s'\n"), optarg);
+ pa_log(_("Invalid latency specification '%s'"), optarg);
goto quit;
}
break;
case ARG_PROCESS_TIME:
if (((process_time = (size_t) atoi(optarg))) <= 0) {
- pa_log(_("Invalid process time specification '%s'\n"), optarg);
+ pa_log(_("Invalid process time specification '%s'"), optarg);
goto quit;
}
break;
@@ -854,7 +858,7 @@ int main(int argc, char *argv[]) {
pa_proplist_setp(proplist, t) < 0) {
pa_xfree(t);
- pa_log(_("Invalid property '%s'\n"), optarg);
+ pa_log(_("Invalid property '%s'"), optarg);
goto quit;
}
@@ -890,7 +894,7 @@ int main(int argc, char *argv[]) {
}
if (!pa_sample_spec_valid(&sample_spec)) {
- pa_log(_("Invalid sample specification\n"));
+ pa_log(_("Invalid sample specification"));
goto quit;
}
@@ -900,19 +904,19 @@ int main(int argc, char *argv[]) {
filename = argv[optind];
if ((fd = open(argv[optind], mode == PLAYBACK ? O_RDONLY : O_WRONLY|O_TRUNC|O_CREAT, 0666)) < 0) {
- pa_log(_("open(): %s\n"), strerror(errno));
+ pa_log(_("open(): %s"), strerror(errno));
goto quit;
}
if (dup2(fd, mode == PLAYBACK ? STDIN_FILENO : STDOUT_FILENO) < 0) {
- pa_log(_("dup2(): %s\n"), strerror(errno));
+ pa_log(_("dup2(): %s"), strerror(errno));
goto quit;
}
pa_close(fd);
} else if (optind+1 <= argc) {
- pa_log(_("Too many arguments.\n"));
+ pa_log(_("Too many arguments."));
goto quit;
}
@@ -923,7 +927,7 @@ int main(int argc, char *argv[]) {
if (mode == RECORD) {
/* This might patch up the sample spec */
if (pa_sndfile_write_sample_spec(&sfi, &sample_spec) < 0) {
- pa_log(_("Failed to generate sample specification for file.\n"));
+ pa_log(_("Failed to generate sample specification for file."));
goto quit;
}
@@ -943,16 +947,16 @@ int main(int argc, char *argv[]) {
if (!(sndfile = sf_open_fd(mode == RECORD ? STDOUT_FILENO : STDIN_FILENO,
mode == RECORD ? SFM_WRITE : SFM_READ,
&sfi, 0))) {
- pa_log(_("Failed to open audio file.\n"));
+ pa_log(_("Failed to open audio file."));
goto quit;
}
if (mode == PLAYBACK) {
if (sample_spec_set)
- pa_log(_("Warning: specified sample specification will be overwritten with specification from file.\n"));
+ pa_log(_("Warning: specified sample specification will be overwritten with specification from file."));
if (pa_sndfile_read_sample_spec(sndfile, &sample_spec) < 0) {
- pa_log(_("Failed to determine sample specification from file.\n"));
+ pa_log(_("Failed to determine sample specification from file."));
goto quit;
}
sample_spec_set = TRUE;
@@ -961,7 +965,7 @@ int main(int argc, char *argv[]) {
/* Allow the user to overwrite the channel map on the command line */
if (pa_sndfile_read_channel_map(sndfile, &channel_map) < 0) {
if (sample_spec.channels > 2)
- pa_log(_("Warning: Failed to determine channel map from file.\n"));
+ pa_log(_("Warning: Failed to determine channel map from file."));
} else
channel_map_set = TRUE;
}
@@ -972,7 +976,7 @@ int main(int argc, char *argv[]) {
pa_channel_map_init_extend(&channel_map, sample_spec.channels, PA_CHANNEL_MAP_DEFAULT);
if (!pa_channel_map_compatible(&channel_map, &sample_spec)) {
- pa_log(_("Channel map doesn't match sample specification\n"));
+ pa_log(_("Channel map doesn't match sample specification"));
goto quit;
}
@@ -983,7 +987,7 @@ int main(int argc, char *argv[]) {
readf_function = pa_sndfile_readf_function(&sample_spec);
else {
if (pa_sndfile_write_channel_map(sndfile, &channel_map) < 0)
- pa_log(_("Warning: failed to write channel map to file.\n"));
+ pa_log(_("Warning: failed to write channel map to file."));
writef_function = pa_sndfile_writef_function(&sample_spec);
}
@@ -998,7 +1002,7 @@ int main(int argc, char *argv[]) {
if (verbose) {
char tss[PA_SAMPLE_SPEC_SNPRINT_MAX], tcm[PA_CHANNEL_MAP_SNPRINT_MAX];
- pa_log(_("Opening a %s stream with sample specification '%s' and channel map '%s'.\n"),
+ pa_log(_("Opening a %s stream with sample specification '%s' and channel map '%s'."),
mode == RECORD ? _("recording") : _("playback"),
pa_sample_spec_snprint(tss, sizeof(tss), &sample_spec),
pa_channel_map_snprint(tcm, sizeof(tcm), &channel_map));
@@ -1025,7 +1029,7 @@ int main(int argc, char *argv[]) {
/* Set up a new main loop */
if (!(m = pa_mainloop_new())) {
- pa_log(_("pa_mainloop_new() failed.\n"));
+ pa_log(_("pa_mainloop_new() failed."));
goto quit;
}
@@ -1044,14 +1048,14 @@ int main(int argc, char *argv[]) {
mode == PLAYBACK ? STDIN_FILENO : STDOUT_FILENO,
mode == PLAYBACK ? PA_IO_EVENT_INPUT : PA_IO_EVENT_OUTPUT,
mode == PLAYBACK ? stdin_callback : stdout_callback, NULL))) {
- pa_log(_("io_new() failed.\n"));
+ pa_log(_("io_new() failed."));
goto quit;
}
}
/* Create a new connection context */
if (!(context = pa_context_new_with_proplist(mainloop_api, NULL, proplist))) {
- pa_log(_("pa_context_new() failed.\n"));
+ pa_log(_("pa_context_new() failed."));
goto quit;
}
@@ -1059,20 +1063,20 @@ int main(int argc, char *argv[]) {
/* Connect the context */
if (pa_context_connect(context, server, 0, NULL) < 0) {
- pa_log(_("pa_context_connect() failed: %s\n"), pa_strerror(pa_context_errno(context)));
+ pa_log(_("pa_context_connect() failed: %s"), pa_strerror(pa_context_errno(context)));
goto quit;
}
if (verbose) {
if (!(time_event = pa_context_rttime_new(context, pa_rtclock_now() + TIME_EVENT_USEC, time_event_callback, NULL))) {
- pa_log(_("pa_context_rttime_new() failed.\n"));
+ pa_log(_("pa_context_rttime_new() failed."));
goto quit;
}
}
/* Run the main loop */
if (pa_mainloop_run(m, &ret) < 0) {
- pa_log(_("pa_mainloop_run() failed.\n"));
+ pa_log(_("pa_mainloop_run() failed."));
goto quit;
}
diff --git a/src/utils/pacmd.c b/src/utils/pacmd.c
index ac60a0bc..5ef57e3b 100644
--- a/src/utils/pacmd.c
+++ b/src/utils/pacmd.c
@@ -25,7 +25,7 @@
#include <assert.h>
#include <signal.h>
-#include <sys/select.h>
+#include <sys/poll.h>
#include <sys/socket.h>
#include <unistd.h>
#include <errno.h>
@@ -45,6 +45,13 @@
int main(int argc, char*argv[]) {
+ enum {
+ WATCH_STDIN,
+ WATCH_STDOUT,
+ WATCH_SOCKET,
+ N_WATCH
+ };
+
pid_t pid ;
int fd = -1;
int ret = 1, i;
@@ -53,6 +60,7 @@ int main(int argc, char*argv[]) {
size_t ibuf_index, ibuf_length, obuf_index, obuf_length;
char *cli;
pa_bool_t ibuf_eof, obuf_eof, ibuf_closed, obuf_closed;
+ struct pollfd pollfd[N_WATCH];
setlocale(LC_ALL, "");
bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR);
@@ -108,7 +116,7 @@ int main(int argc, char*argv[]) {
size_t k;
k = PA_MIN(sizeof(ibuf) - ibuf_length, strlen(argv[i]));
- memcpy(ibuf + ibuf_length, argv[1], k);
+ memcpy(ibuf + ibuf_length, argv[i], k);
ibuf_length += k;
if (ibuf_length < sizeof(ibuf)) {
@@ -120,38 +128,45 @@ int main(int argc, char*argv[]) {
ibuf_eof = TRUE;
}
- for (;;) {
- fd_set ifds, ofds;
+ pa_zero(pollfd);
+ pollfd[WATCH_STDIN].fd = STDIN_FILENO;
+ pollfd[WATCH_STDOUT].fd = STDOUT_FILENO;
+ pollfd[WATCH_SOCKET].fd = fd;
+
+ for (;;) {
if (ibuf_eof &&
obuf_eof &&
ibuf_length <= 0 &&
obuf_length <= 0)
break;
- FD_ZERO(&ifds);
- FD_ZERO(&ofds);
+ pollfd[WATCH_STDIN].events = pollfd[WATCH_STDOUT].events = pollfd[WATCH_SOCKET].events = 0;
if (obuf_length > 0)
- FD_SET(1, &ofds);
+ pollfd[WATCH_STDOUT].events |= POLLOUT;
else if (!obuf_eof)
- FD_SET(fd, &ifds);
+ pollfd[WATCH_SOCKET].events |= POLLIN;
if (ibuf_length > 0)
- FD_SET(fd, &ofds);
+ pollfd[WATCH_SOCKET].events |= POLLOUT;
else if (!ibuf_eof)
- FD_SET(0, &ifds);
+ pollfd[WATCH_STDIN].events |= POLLIN;
- if (select(FD_SETSIZE, &ifds, &ofds, NULL, NULL) < 0) {
- pa_log(_("select(): %s"), strerror(errno));
+ if (poll(pollfd, N_WATCH, -1) < 0) {
+
+ if (errno == EINTR)
+ continue;
+
+ pa_log(_("poll(): %s"), strerror(errno));
goto fail;
}
- if (FD_ISSET(0, &ifds)) {
+ if (pollfd[WATCH_STDIN].revents & POLLIN) {
ssize_t r;
pa_assert(!ibuf_length);
- if ((r = pa_read(0, ibuf, sizeof(ibuf), NULL)) <= 0) {
+ if ((r = pa_read(STDIN_FILENO, ibuf, sizeof(ibuf), NULL)) <= 0) {
if (r < 0) {
pa_log(_("read(): %s"), strerror(errno));
goto fail;
@@ -164,7 +179,7 @@ int main(int argc, char*argv[]) {
}
}
- if (FD_ISSET(fd, &ifds)) {
+ if (pollfd[WATCH_SOCKET].revents & POLLIN) {
ssize_t r;
pa_assert(!obuf_length);
@@ -181,21 +196,26 @@ int main(int argc, char*argv[]) {
}
}
- if (FD_ISSET(1, &ofds)) {
+ if (pollfd[WATCH_STDOUT].revents & POLLHUP) {
+ obuf_eof = TRUE;
+ obuf_length = 0;
+ } else if (pollfd[WATCH_STDOUT].revents & POLLOUT) {
ssize_t r;
pa_assert(obuf_length);
- if ((r = pa_write(1, obuf + obuf_index, obuf_length, NULL)) < 0) {
+ if ((r = pa_write(STDOUT_FILENO, obuf + obuf_index, obuf_length, NULL)) < 0) {
pa_log(_("write(): %s"), strerror(errno));
goto fail;
}
obuf_length -= (size_t) r;
obuf_index += obuf_index;
-
}
- if (FD_ISSET(fd, &ofds)) {
+ if (pollfd[WATCH_SOCKET].revents & POLLHUP) {
+ ibuf_eof = TRUE;
+ ibuf_length = 0;
+ } if (pollfd[WATCH_SOCKET].revents & POLLOUT) {
ssize_t r;
pa_assert(ibuf_length);
@@ -209,14 +229,14 @@ int main(int argc, char*argv[]) {
}
if (ibuf_length <= 0 && ibuf_eof && !ibuf_closed) {
- pa_close(0);
+ pa_close(STDIN_FILENO);
shutdown(fd, SHUT_WR);
ibuf_closed = TRUE;
}
if (obuf_length <= 0 && obuf_eof && !obuf_closed) {
shutdown(fd, SHUT_RD);
- pa_close(1);
+ pa_close(STDOUT_FILENO);
obuf_closed = TRUE;
}
}
diff --git a/src/utils/padsp.c b/src/utils/padsp.c
index dfa5aac2..882522c4 100644
--- a/src/utils/padsp.c
+++ b/src/utils/padsp.c
@@ -53,6 +53,7 @@
#include <pulse/pulseaudio.h>
#include <pulse/gccmacro.h>
#include <pulsecore/llist.h>
+#include <pulsecore/core-util.h>
/* On some systems SIOCINQ isn't defined, but FIONREAD is just an alias */
#if !defined(SIOCINQ) && defined(FIONREAD)
@@ -459,15 +460,16 @@ static void reset_params(fd_info *i) {
}
static const char *client_name(char *buf, size_t n) {
- char p[PATH_MAX];
+ char *p;
const char *e;
if ((e = getenv("PADSP_CLIENT_NAME")))
return e;
- if (pa_get_binary_name(p, sizeof(p)))
+ if ((p = pa_get_binary_name_malloc())) {
snprintf(buf, n, "OSS Emulation[%s]", p);
- else
+ pa_xfree(p);
+ } else
snprintf(buf, n, "OSS");
return buf;